PHP strtotime() 未返回正确的月份
由于当前月份/年份是 2012 年 1 月,为什么以下代码返回 2011 年 12 月而不是 2011 年 11 月?
echo date("F Y", strtotime("-2 months"));
如果有影响的话,这是在 PHP 5.3.0 上。
Being that the current month/year is January 2012, why does the following code return December 2011 and not November 2011?
echo date("F Y", strtotime("-2 months"));
This is on PHP 5.3.0 if it makes a difference.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要获得您正在寻找的内容,您可以使用这个相当冗长的版本:
此处详细描述了原始版本的问题:http://derickrethans.nl/obtaining-the-next-month-in-php.html。引述如下:
这是用于添加月份,但在减去月份时同样适用;没有 11 月 31 日,因此 strtotime 方法将其“更正”为 12 月 1 日。
To get what you are looking for you can use this rather verbose version instead:
The problem with your original version is described in detail here: http://derickrethans.nl/obtaining-the-next-month-in-php.html. Quoted below:
This is for adding months, but the same applies in reverse when subtracting months; there was no November 31st, so the strtotime method "corrects" it into December 1st.