0

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

我的代码是:

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

除了返回为 7168 而不是 2012 的年份之外,一切都是正确的。

任何人对造成这种情况的原因有任何想法吗?

4

2 回答 2

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');
于 2012-08-21T22:40:36.883 回答
0

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

我认为这是PHP DateTime 相对格式页面上的最后一条评论

应该注意的是,其中一些字符串显然只在 PHP 5.3 中有效,特别是:例如“本月的第一天”和“本月的最后一天”。根据在另一个网站上找到的信息,PHP 5.3 中添加了“xxx day of”功能。

于 2012-08-21T22:57:01.977 回答