PHP strtotime() 函数

实例

将英文文本日期时间解析为 Unix 时间戳:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. echo(strtotime("now") . "<br>");
  6. echo(strtotime("5 September 2016") . "<br>");
  7. echo(strtotime("+5 hours") . "<br>");
  8. echo(strtotime("+1 week") . "<br>");
  9. echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>");
  10. echo(strtotime("next Monday") . "<br>");
  11. echo(strtotime("last Sunday"));
  12. ?>
  13. </body>
  14. </html>

定义和用法

strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。

注意:如果年份表示使用两位数格式,则值 0-69 会映射为 2000-2069,值 70-100 会映射为 1970-2000。

注意:请注意 m/d/y 或 d-m-y 格式的日期,如果分隔符是斜线(/),则使用美洲的 m/d/y 格式。如果分隔符是横杠(-)或者点(.),则使用欧洲的 d-m-y 格式。为了避免潜在的错误,您应该尽可能使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函数。


语法

  1. strtotime(time,now);
参数描述
time必需。规定日期/时间字符串。
now可选。规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

技术细节

返回值:若成功则返回时间戳,失败则返回 FALSE。
PHP 版本:4+
更新日志:
5.3.0:现在相对时间格式,比如这一周、前一周、上一周、下一周,规定一周从星期一到星期日,而不是使用相对于当前日期/时间的前后 7 天。
5.3.0在 PHP 5.3.0 之前, 24:00 不是一个有效的格式,并且 strtotime() 会返回 FALSE。
5.2.7在这之前的版本中,如果请求一个月中某个给定日期且该日期刚好是该月的第一天,则会错误地把增加一个星期到返回的时间戳中,这点现在已经得到更正。
5.1.0如果失败则返回 FALSE(在这之前的版本则返回 -1),并增加了 E_STRICT 和 E_NOTICE 时区错误。
5.0.2现在正确计算 "now" 和其他相对时间是以当前时间为准,而不是以今天午夜的时间为准。
5.0.0允许微秒(但微秒数通常被忽略)。
4.4.0在 PHP 4.4 之前,"next" 被错误计算为 +2。对此通常的解决方法是用 "+1"。

分类导航