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
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
投稿したコードは、説明した方法で失敗します。PHP のマニュアル ページの説明 (SilentGhost が言及しているように、単なるユーザー コメントです) は検証されていないコードのようです。
特定の月の最終日が必要な場合は、これを試してください。
date('Y-m-d', strtotime("2009-12 next month - 1 hour"));
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 である必要があります。
あなたは単に相対形式を間違って使用していると思いますが、これは私にとってはうまくいきます:
echo date('m/d/y', strtotime('last day of 2009-12'));
ドキュメントから:
'last day' ' of'?
-- 日を現在の月の最終日に設定します。このフレーズは、それに続く月名と一緒に使用するのが最適です。--"last day of next month"
date("Y-m-t", strtotime("201512"));
For December 2015