PHP操作时间函数strtotime()详解
“打印前一天时间”的格式转化题目,是:
echo date(”Y-m-d h:i:s”,strtotime(”-1 day”));
“打印上一个月第一天的时间“ :
$a=mktime(0,0,0,date("m")-1,1,date("Y"));//获得下个月第一天UNIX值
$next_mon_first_day=date("y-m-d",$a);
想想这个strtotime()还是挺神奇的,如果能灵活的运用它,肯定会给工作带来不少方便,但PHP的手册中却对此函数的参数没作太多介绍,对些函数的其他介绍也非常少。整理相关资料如下:
先看手册介绍:
strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
格式:int strtotime ( string $time [, int $now ] )
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。
本函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get函数页面中有说明。
Note: 如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。
参数
time:被解析的字符串,格式根据 GNU » 日期输入格式的语法。在 PHP 5.0 之前,time 中不允许有毫秒数,自 PHP 5.0 起可以有但是会被忽略掉。
now:用来计算返回值的时间戳;该参数默认值是当前时间time(),也可以设置为其他时间的时间戳。
返回值:成功则返回间戳,否则返回 FALSE(在 PHP 5.1.0 之前本函数在失败时返回 -1,后面版本返回false)。
strtotime的第一个参数可以是我们常见的英文时间格式,比如“2008-8-20”或“10 September 2000”等等。也可以是以参数now为基准的时间描述,比如“+1 day”等等。
下面是后一种方式的可使用参数清单,其中“当前时间”是指strtotime第二个参数now的值,默认为当前时间。