PHP strtotime()函数

strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳

 

int strtotime string $time [, int $now ] )

本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。

 

Note:

如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。

 

Example #1 strtotime() 例子

 

<?php
echo strtotime("now"), "\n";
echo 
strtotime("10 September 2000"), "\n";
echo 
strtotime("+1 day"), "\n";
echo 
strtotime("+1 week"), "\n";
echo 
strtotime("+1 week days hours seconds"), "\n";
echo 
strtotime("next Thursday"), "\n";
echo 
strtotime("last Monday"), "\n";
?>

 

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、输出时间前加上语句:  date_default_timezone_set("Asia/ShangHai")

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 week days hours seconds')); //下一年
echo "<br>";

 

?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值