PHP DateTime->格式错误的一年

时间:2012-08-21 22:17:31

标签: php datetime

使用php DateTime对象获取当月最后一天的日期时,年份始终不正确。

我的代码是:

$d = new DateTime();
$d->modify('last day of this month');
$formattedDateTime = $d->format('Y-m-d H:i:s')

除了以7168而非2012年返回的年份外,一切都是正确的。

是否有任何关于导致此问题的想法?

2 个答案:

答案 0 :(得分:0)

正如其他人所说,它也适用于我(PHP 5.4.3)。但是,对于某些最新的PHP版本,日期/时间代码中存在一些错误,因此请尽可能尝试升级安装,看看是否有帮助。

话虽如此,你应该只是将字符串直接传递给构造函数而不是使用DateTime::modify()

$d = new DateTime('last day of this month');
$formattedDateTime = $d->format('Y-m-d H:i:s');

答案 1 :(得分:0)

它似乎与您的PHP版本有关。

我将此视为PHP DateTime Relative Formats page

的最后评论
  

应该注意的是,显然这些字符串中的一些仅适用于PHP 5.3   显然,特别是:“本月的第一天”和“本月的最后一天”。根据在另一个网站上发现的信息,在PHP 5.3中添加了“xxx day of”功能。