php - 自动递增时的MySQL日期问题

标签 php mysql date

我编写了一个 sql 查询,从给定的日期开始递增 1 年、10 个月、11 个月,以及更多的日期。它在第 12 天之前的每个月都可以正常工作,当我输入第 13 天或第 13 天之后,年份将更改为 1971 年或 1970 年。我不明白为什么?

这是我的代码:

$Domain_Renewal_Date = date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Registered_Date)) ." + 365 day"));
$Alert_Mail_Date= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) ." - 60 day"));
$Alert_Mail_Date1= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) . " - 30 day"));
$Alert_Mail_Date2= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) . " - 22 day"));
$Alert_Mail_Date3= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) . " - 17 day"));
$Alert_Mail_Date4= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) . " - 10 day"));
$Alert_Mail_Date5= date("d/m/Y", strtotime(date("d/m/Y", strtotime($Domain_Renewal_Date)) . " - 5 day"));

最佳答案

您已将该日期设置为 Unix timestamp ,因此当您添加日期并超出范围时,它会回到 1970 年 1 月 1 日,即为该格式设置的日期。

format is Tuesday 2038-01-19 表示的最大日期.

我建议您更改该字段的格式。

关于php - 自动递增时的MySQL日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31317348/

相关文章:

excel - 意外的 CDate() 行为

javascript - .net 中的日期与 javascript 中的日期

php - MySQL 中的 IF 语句,使用 THEN 和 ELSE

php:何时使用 echo 和 return

mysql - 表格已满(使用 MEMORY 引擎)

mysql - 在mysql查询中获取一行的排名

javascript - Momentjs UTC 时间很奇怪

php - 使用 pdo 插入 cookie 值

php - python如何将mysql二进制转换(16)

executeQuery() 中的 Java MYSQL 异常