4

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
4

4 に答える 4

9

投稿したコードは、説明した方法で失敗します。PHP のマニュアル ページの説明 (SilentGhost が言及しているように、単なるユーザー コメントです) は検証されていないコードのようです。

特定の月の最終日が必要な場合は、これを試してください。

date('Y-m-d', strtotime("2009-12 next month - 1 hour"));
于 2010-03-24T18:45:02.707 に答える
2

PHP 5.3 を使用している場合は、DateTimeクラスを使用してみてください。

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

$date->modify("last day of previous month");5.2.* 以前では機能しないため、5.3 である必要があります。

于 2010-03-24T18:56:29.773 に答える
0

あなたは単に相対形式を間違って使用していると思いますが、これは私にとってはうまくいきます:

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

ドキュメントから:

'last day' ' of'?-- 日を現在の月の最終日に設定します。このフレーズは、それに続く月名と一緒に使用するのが最適です。--"last day of next month"

于 2013-07-10T23:48:16.993 に答える
0

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

For December 2015

于 2015-12-02T19:45:27.147 に答える