我正在尝试设置一个php,它设置的日期为每年的9月1日。我使用CRON来声明每次日期是9月7日,那么php实际上会更新数据库中日期比9月7日早一周的行。
现在,下面的代码是我在10月28日测试的,当我回显$selectedDate时,它会输出2012-10-28,这没问题。但是当我将日期更改为9月1日时,它输出的`2011-12-01显然是不正确的。它应该输出‘2013 -09-01’,因为下一个9月日期将在2013年。然后在2013年9月1日过后,年份应该改为2014年,依此类推。
如何获得要输出的正确日期?
以下是代码:
$createDate = mktime(0,0,0,09,01,date("Y"));
$selectedDate = date('Y-m-d', ($createDate));发布于 2012-10-28 18:47:45
这是因为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);https://stackoverflow.com/questions/13108143
复制相似问题