使用php DateTime对象获取当月最后一天的日期时,年份始终不正确。
我的代码是:
$d = new DateTime();
$d->modify('last day of this month');
$formattedDateTime = $d->format('Y-m-d H:i:s')
除了以7168而非2012年返回的年份外,一切都是正确的。
是否有任何关于导致此问题的想法?
答案 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”功能。