我对strtotime有点麻烦,我有一个1868年7月18日的日期,当我在数据库中记录时,我做$date = strtotime (18-07-1868)
。但是当我出现时,我约会('Y-m-d', $date)
,但它没有向我显示18-07-1868
,而是13-12-1901
。
如何解决此问题?
谢谢,
答案 0 :(得分:1)
来自manual:
时间戳的有效范围通常来自1901年12月13日星期五 20:45:54 UTC to Tue,20 Jan Jan 03:14:07 UTC。
(这些是与32位有符号的最小值和最大值相对应的日期 整数。)
此外,并非所有平台都支持负时间戳, 因此,您的日期范围可能不会早于Unix 时代。这意味着,例如1970年1月1日之前的日期将无效 在Windows上,一些Linux发行版,以及其他一些操作系统 系统。 PHP 5.1.0和更新的版本克服了这个限制。
所以这取决于您运行它的平台。它需要64位才能超出手册中规定的范围。
答案 1 :(得分:0)
您没有在strtotime()
函数...
试试这个...
$x = strtotime('18-07-1868');
echo date('Y-m-d', $x);