0

我正在尝试设置一个 php,它设置每年 9 月 1 日的日期。我使用 CRON 来声明每次日期是 9 月 7 日,然后 php 实际上会更新数据库中日期为 9 月 7 日之前一周的行(ist 9 月)。

现在,我在 10 月 28 日测试了下面的代码,当我回显它时,$selectedDate它的输出2012-10-28很好。但是当我将日期更改为 9 月 1 日时,它的输出`2011-12-01显然是不正确的。它应该输出'2013-09-01,因为下一个九月日期将是2013年。然后在2013年的九月日期过去之后,年份应该更改为2014年等等。

如何获得要输出的正确日期?

下面是代码:

$createDate = mktime(0,0,0,09,01,date("Y"));
$selectedDate =  date('Y-m-d', ($createDate));
4

1 回答 1

3

那是因为09被解释为八进制 9,这是无效的。

当您通过9而不是09

$createDate = mktime(0,0,0,9,1,date("Y"));
//                         ^ ^  No preceeding 0s.
$selectedDate =  date('Y-m-d', ($createDate));

var_dump($createDate, $selectedDate);
于 2012-10-28T10:47:45.263 回答