PHP日期时间->;格式不正确的年份

PHP日期时间->;格式不正确的年份,php,datetime,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年返回的年份之外,所有内容都是正确的 有人知道是什么导致了这种情况吗?正如其他人所说,它也适用于我(PHP5.4.3)。不过,在一些较新的PHP版本中,

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

我的代码是:

$d = new DateTime();
$d->modify('last day of this month');
$formattedDateTime = $d->format('Y-m-d H:i:s')
除了作为7168而不是2012年返回的年份之外,所有内容都是正确的


有人知道是什么导致了这种情况吗?

正如其他人所说,它也适用于我(PHP5.4.3)。不过,在一些较新的PHP版本中,日期/时间代码中出现了一些错误,因此,如果可能,请尝试升级您的安装,看看这是否有帮助

也就是说,您应该直接将字符串传递给构造函数,而不是使用
DateTime::modify()


它似乎与您的PHP版本有关

我认为这是最后一条评论

应该注意的是,显然有些字符串只在PHP5.3中工作 显然,值得注意的是:“本月第一天”和“本月最后一天”等。根据另一个网站上的信息,PHP5.3中添加了“xxx日”功能


对我有用:对我也有用。您是如何测试它的?您确定您的系统时间正确吗?;-)如果他的PHP版本不支持“本月的最后一天”,他将从
DateTime::modify()
引发
Exception
异常。页面显示失败时返回
FALSE
。我在
modify()
中输入了乱七八糟的字符串,没有引发异常。对不起,我在考虑构造函数。如果它返回了
FALSE
,那么脚本在
$d->format(“…”)
上仍然会失败。
$d = new DateTime('last day of this month');
$formattedDateTime = $d->format('Y-m-d H:i:s');