繁体   English   中英

PHP DateTime->格式不正确的年份

[英]PHP DateTime->format incorrect year

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

我的代码是:

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

除了返回的年份是7168而不是2012之外,其他所有内容都是正确的。

任何人都知道是什么原因造成的吗?

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

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

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

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

我将其视为“ PHP DateTime相对格式”页面上的最后一条评论

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM