PHP strtotime(YYYY-mm 最后一天) 一个月关闭错误
我正在 PHP 5.2.12 中尝试以下命令:
print (date('Y-m-d', strtotime('2009-12 last day')));
关于 php.net 手册:
date('m/d/y', strtotime('2009-03 last day')); # 03/31/09
它应该显示 2009 年 3 月的最后一天 (2009-03-31)!
我的返回上个月的最后一天?为什么 ? :
2009-11-30
I'm trying the following command in PHP 5.2.12 :
print (date('Y-m-d', strtotime('2009-12 last day')));
Regarding to the php.net manual :
date('m/d/y', strtotime('2009-03 last day')); # 03/31/09
it should display the last day of march 2009 (2009-03-31) !
Mine returns the last day of the previous month ? why ? :
2009-11-30
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您发布的代码按照您所描述的方式失败; PHP手册页中的描述(SilentGhost提到的只是用户评论)似乎是未经验证的代码。
如果您需要给定月份的最后一天,请尝试以下操作:
The code you posted fails in the manner you described; it seems that the description in the PHP manual pages (which as mentioned by SilentGhost is just a user comment) is non-verified code.
If you need the last day of a given month, try this:
如果您使用 PHP 5.3,请尝试使用 DateTime 类
:必须为 5.3,因为
$date->modify("last day of previous Month");
在 5.2.* 或更早版本中不起作用。If you're using PHP 5.3 try using the DateTime class:
It must be 5.3 as
$date->modify("last day of previous month");
won't work in 5.2.* or earlier.我认为您只是错误地使用了相对格式,这对我有用:
来自 文档:
I think you're simply using the relative format incorrectly, this works for me:
From the docs:
date("Ymt", strtotime("201512"));
2015 年 12 月
date("Y-m-t", strtotime("201512"));
For December 2015