MySQL自动递增时发出日期

时间:2015-07-09 12:20:32

标签: 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"));

2 个答案:

答案 0 :(得分:0)

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

format is Tuesday 2038-01-19可以重复的最长日期。

我建议你改变那个字段的格式。

答案 1 :(得分:0)

http://docs.php.net/manual/en/datetime.formats.date.php

此页面描述了不同的日期格式
[...]
美国月,日和年mm" /" dd" /" ÿ

那么,这与你的dd / mm / yy格式不同,因为mm = 13 / dd = 9 / yy = 2015是无效的日期,strtotime返回FALSE,
date()需要一个整数=>
false-> integer = 0 =>
date(...,0)=>
01/01/197 [0 | 1]