【发布时间】:2016-06-03 12:33:55
【问题描述】:
我一直在尝试根据用户在我的基于 PHP 的 Web 应用程序中提供的一些整数值生成年份和月份列表。这样做时,我遇到了 2038 年的错误,当循环到达 2038 年时,这一年被重置为 1970 年。我使用的 PHP 版本是 5.4,我用谷歌搜索并应用了在这个 link 中找到的解决方案,但它不起作用对我来说,有没有人为 php 中的 2038 错误尝试过其他解决方案?
这是我的 PHP 代码:
$i = 1;
$Tenurein = 360;
while ($i < $Tenurein) {
$MonthArr[] = date('F', strtotime($date2));
$YearArr[] = date('Y', strtotime($date2));
$date = new DateTime($date2);
$date->add(new DateInterval('P1M'));
$dateMon = $date->format('Y-m-d');
$date2 = $dateMon;
$i++;
}
。
【问题讨论】:
-
这是一个众所周知的问题en.wikipedia.org/wiki/Year_2038_problem
-
正确,但是 PHP 中有什么解决方法可以解决这个问题吗?
-
使用
DateTime对象,可以处理更少/更多的 unix 时间戳