技术笔记技术笔记
首页
前言
  • CSS
  • JQuery
  • JavaScript
  • PHP
  • GoLang
Mysql
运维
Linux
  • Sublime Text 3
  • PhpStorm
  • Markdown
  • Git
  • Vim
  • MAC命令
  • Eclipse插件
  • Content-Type
  • 公务员职级体系
  • Eclipse插件
  • Content-Type
  • Web工具
  • 技术资源分享
首页
前言
  • CSS
  • JQuery
  • JavaScript
  • PHP
  • GoLang
Mysql
运维
Linux
  • Sublime Text 3
  • PhpStorm
  • Markdown
  • Git
  • Vim
  • MAC命令
  • Eclipse插件
  • Content-Type
  • 公务员职级体系
  • Eclipse插件
  • Content-Type
  • Web工具
  • 技术资源分享
  • PHP

    • 介绍
    • 开发军规
    • 正则表达式
    • date函数
    • strtotime时间戳最大值
    • 令人困惑的strtotime
    • PDOStatement::bindParam的一个陷阱
    • composer
    • Laravel
    • 常见问题

strtotime时间戳最大值

PHP有效的时间戳典型范围是格林威治时间1901年12月13日20:45:54到2038年1月19日03:14:07。(此范围符合32位有符号整数的最小值和最大值)。不过在PHP5.1之前此范围在某些系统(如Windows)中限制为从1970年1月1日到2038年1月19日。

当然,64位的系统是不会受此影响的。

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手册 ]

如果系统是32位的,且php版本在5.1.0之后的,可以使用new DateTime解决

$date = '2090-10-01';
$datetime = new DateTime($date);
echo '<p>正常时间: ', $datetime->format('Y-m-d H:i'), '</p>';
echo '<p>时间溢出: ', date('Y-m-d H:i', strtotime($date)), '<p>';
最近更新: 2025/2/23 23:16
Contributors: huangyanfu, hqdxhyf
Prev
date函数
Next
令人困惑的strtotime