php - 在循环添加时将日期重置为 2038 年的 1970 年
php - date reset to 1970 at 2038 while adding in a loop
我一直在尝试根据用户在我的基于 PHP 的网络应用程序中提供的一些整数值生成一个年份和月份列表。在执行此操作时,我遇到了 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++;
}
。
我正在使用 php 5.6 版。下面的代码产生输出
View output
<?php
$i = 1;
$Tenurein = 360;
$date2 = date('Y-m-d');
while ($i < $Tenurein) {
$MonthArr[] = date('F', strtotime($date2));
$YearArr[] = date('Y', strtotime($date2));
$date = new DateTime($date2);
$date->modify('+1 month');
echo $dateMon = $date->format('Y-m-d');
$date2 = $dateMon;
$i++;
echo "<br>";
}
?>
我们可以看到很多关于这个问题的帖子。对于显示日期,似乎没有问题。但是在存储在数据库中时,我也面临同样的问题。如果您使用时间戳数据类型只需更改为日期时间。它会起作用。
我一直在尝试根据用户在我的基于 PHP 的网络应用程序中提供的一些整数值生成一个年份和月份列表。在执行此操作时,我遇到了 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++;
}
。
我正在使用 php 5.6 版。下面的代码产生输出 View output
<?php
$i = 1;
$Tenurein = 360;
$date2 = date('Y-m-d');
while ($i < $Tenurein) {
$MonthArr[] = date('F', strtotime($date2));
$YearArr[] = date('Y', strtotime($date2));
$date = new DateTime($date2);
$date->modify('+1 month');
echo $dateMon = $date->format('Y-m-d');
$date2 = $dateMon;
$i++;
echo "<br>";
}
?>
我们可以看到很多关于这个问题的帖子。对于显示日期,似乎没有问题。但是在存储在数据库中时,我也面临同样的问题。如果您使用时间戳数据类型只需更改为日期时间。它会起作用。