strtotime
int
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于
Note:
如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。
Example #1
<?php
echo
echo
echo
echo
echo
echo
echo
?>
Note:
有效的时间戳通常从 Fri, 13 Dec 1901 20:45:54 GMT 到 Tue, 19 Jan 2038 03:14:07 GMT(对应于 32 位有符号整数的最小值和最大值)。不是所有的平台都支持负的时间戳,那么日记范围就被限制为不能早于 Unix 纪元。这意味着在 1970 年 1 月 1 日之前的日期将不能用在 Windows,一些 Linux 版本,以及几个其它的操作系统中。不过 PHP 5.1.0 及更新的版本克服了此限制。
应用:
用PHP打印出前一天的时间格式是2011-11-29 11:27:00
使用echo date('Y-m-d H:i:s', strtotime('-1 days'));就可以实现
但是此种方法输出的时间与本地时间有8小时的时间差
解决方案:
1、输出时间前加上语句:
2、修改 php.ini配置文件方法:
找到 time_zone语句,去掉前面;,修改为date.timezone = "Etc/GMT-8"; 重启服务器。
3、echo date( "H : i : s",time() + 3600 * 8);
ADD:
获取php当前使用时区
echo date_default_timezone_get();
设置时区
date_default_timezone_set('Asia/Shanghai');
<?php
设置时区
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('now'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('-1 day'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('last day'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('1 day'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('next day'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('2 day'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('last Monday')); //前一个星期一
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('next Monday')); //后一个星期一
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('last week'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('next week'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('last year'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('next year'));
echo "<br>";
echo date('Y-m-d H:i:s',strtotime('+1
echo "<br>";
?>