php 时间日期计算(加减)函数
在php中我们要对时间日期加减我们可使用两个函数,mktime与strtotime函数了,下面我来给各位同学介绍它们的使用方法.
mktime 函数:mktime() 函数返回一个日期的 Unix 时间戳.
参数总是表示 GMT 日期,因此 is_dst 对结果没有影响.
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值.
参数 描述
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选,规定年,在某些系统上,合法值介于 1901 - 2038 之间,不过在 PHP 5 中已经不存在这个限制了.
is_dst 可选,如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1.
例子:mktime() 函数对于日期运算和验证非常有用,它可以自动校正越界的输入,代码如下:
- <?php
- echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));
- echo(date("M-d-Y",mktime(0,0,0,14,1,2001)));
- echo(date("M-d-Y",mktime(0,0,0,1,1,2001)));
- echo(date("M-d-Y",mktime(0,0,0,1,1,99)));
- ?>//开源代码phpfensi.com
- //输出:
- Jan-05-2002
- Feb-01-2002
- Jan-01-2001
- Jan-01-1999
strtotime(time,now)
在一个小项目中要用到环比数据的对比,数据的跨度是一个星期,要做到时间上的定位于是写了两个函数.
计算星期一的日期,代码如下:
- function getTheMonday($date) {
- if (date ( 'N', strtotime ( $date ) ) == 1) {
- return date ( 'Y-m-d', strtotime ( 'Monday', strtotime ( $date ) ) );
- } else {
- return date ( 'Y-m-d', strtotime ( 'last Monday', strtotime ( $date ) ) );
- }
- }
计算星期天的日期,代码如下:
- function getTheSunday($date) {
- return date ( 'Y-m-d', strtotime ( 'Sunday', strtotime ( $date ) ) );
- }