PHP strtotime(YYYY-mm 最后一天) 一个月关闭错误

发布于 2024-08-26 23:39:24 字数 414 浏览 9 评论 0原文

我正在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

水溶 2024-09-02 23:39:24

您发布的代码按照您所描述的方式失败; PHP手册页中的描述(SilentGhost提到的只是用户评论)似乎是未经验证的代码。

如果您需要给定月份的最后一天,请尝试以下操作:

date('Y-m-d', strtotime("2009-12 next month - 1 hour"));

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:

date('Y-m-d', strtotime("2009-12 next month - 1 hour"));
み零 2024-09-02 23:39:24

如果您使用 PHP 5.3,请尝试使用 DateTime

<?php
    $date = new DateTime("2009-03-01");
    $date->modify("last day of previous month");
    echo $date->format("m/d/y");
?>

:必须为 5.3,因为 $date->modify("last day of previous Month"); 在 5.2.* 或更早版本中不起作用。

If you're using PHP 5.3 try using the DateTime class:

<?php
    $date = new DateTime("2009-03-01");
    $date->modify("last day of previous month");
    echo $date->format("m/d/y");
?>

It must be 5.3 as $date->modify("last day of previous month"); won't work in 5.2.* or earlier.

注定孤独终老 2024-09-02 23:39:24

我认为您只是错误地使用了相对格式,这对我有用:

echo date('m/d/y', strtotime('last day of 2009-12'));

来自 文档

'last day' ' of'? -- 将日期设置为当月的最后一天。该短语最好与后面的月份名称一起使用。 -- “下个月的最后一天”

I think you're simply using the relative format incorrectly, this works for me:

echo date('m/d/y', strtotime('last day of 2009-12'));

From the docs:

'last day' ' of'? -- Sets the day to the last day of the current month. This phrase is best used together with a month name following it. -- "last day of next month"

遗弃M 2024-09-02 23:39:24

date("Ymt", strtotime("201512"));

2015 年 12 月

date("Y-m-t", strtotime("201512"));

For December 2015

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文