PHP strtotime函数——将英文的日期时间解析为时间戳,strtotime函数可将任何英文文本的日期时间描述解析为UNIX时间戳。
PHP strtotime函数 语法
int strtotime ( string time , int now)
如果参数time的格式是绝对时间,则now参数不起作用;如果参数time的格式是相对时间,则其所相对的时间由now提供,如果未提供now参数则应用当前时间。失败时返回-1。
PHP strtotime函数 示例
应用strtotime()函数来获取包含英文格式日期时间字符串的UNIX时间戳,并输出时间
代码如下:
<?php
echo strtotime ("now"), "\n"; //结果为:1224642572
echo "输出时间:".date("Y-m-d H:i:s",strtotime ("now")),"<br>";
echo strtotime ("21 May2011"), "\n"; //结果为:1211299200
echo "输出时间".date("Y-m-d H:i:s",strtotime ("21 May2011")),"<br>";
echo strtotime ("+3 day"), "\n"; //结果为:1224901772
echo "输出时间".date("Y-m-d",strtotime ("+3 day")),"<br>"; //结果为:2008-10-25
echo strtotime ("+1 week"), "\n"; //结果为:1225247372
echo strtotime ("+1 week 2 days 3 hours 4 seconds"), "\n"; //结果为:1225430976
echo strtotime ("next Thursday"), "\n"; //结果为:1224720000
echo strtotime ("last Monday"), "\n"; //结果为:1224460800
?>
有效的时间戳典型范围是从格林威治时间1901年12月13日星期五20:45:54到2038年1月19日星期二03:14:07(该日期是根据32位有符号整数的最小值和最大值而定的)。
应用strtotime()函数实现倒计时程序,倒计时功能的实现同样也是将时间戳做算术运算
代码如下:
<?php
date_default_timezone_set("Asia/ShangHai"); //设置时区
echo "当前时间:".date('Y 年m 月d 日 H 点i 分s 秒')."<br>"; //输出当前日期
time = time(); //取得当前时间戳time_r = strtotime("1 January 2011"); //取得指定日期的时间戳
echo "距2011 年元旦还有<b style='color:red;'>".ceil(((time_r -time)/(3600*24)))."</b>天";
//输出
?>