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() 函数对于日期运算和验证非常有用,它可以自动校正越界的输入,代码如下:

  1. <?php
  2. echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));
  3. echo(date("M-d-Y",mktime(0,0,0,14,1,2001)));
  4. echo(date("M-d-Y",mktime(0,0,0,1,1,2001)));
  5. echo(date("M-d-Y",mktime(0,0,0,1,1,99)));
  6. ?>//开源代码phpfensi.com
  7. //输出:
  8. Jan-05-2002
  9. Feb-01-2002
  10. Jan-01-2001
  11. Jan-01-1999

strtotime(time,now)

在一个小项目中要用到环比数据的对比,数据的跨度是一个星期,要做到时间上的定位于是写了两个函数.

计算星期一的日期,代码如下:

  1. function getTheMonday($date) {
  2. if (date ( 'N', strtotime ( $date ) ) == 1) {
  3. return date ( 'Y-m-d', strtotime ( 'Monday', strtotime ( $date ) ) );
  4. } else {
  5. return date ( 'Y-m-d', strtotime ( 'last Monday', strtotime ( $date ) ) );
  6. }
  7. }

计算星期天的日期,代码如下:

  1. function getTheSunday($date) {
  2. return date ( 'Y-m-d', strtotime ( 'Sunday', strtotime ( $date ) ) );
  3. }