仕事で先月、来月、今月の日付を取得する必要があるため、Web サイトから実装コードを見つけました。必要な友人に共有したいと思います。 今日プログラムを書いていたら、昔書いた月の日数を取得する関数を発見しました。古典的なスイッチバージョンですが、前月の日数を取得するときに、月を -1 に変更しました。もう一度見てみましょう。最初はもう一度対処したいと思いましたが、何か非常に便利な方法があるはずだと思いました。そこで、以下のバージョンを見つけて、いくつかの小さな修正を加えました。 今月の日付を取得します。 コードは以下のように表示されます。 関数 getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); 配列($firstday,$lastday)を返します。 } $firstday が月の最初の日である場合、$date が 2014-2 の場合、$firstday は 2014-02-01 になり、$firstday に 1 か月を加算すると 2014-03-01 になり、1 日を減算すると 2014 になります。 - 02-28、date() と strtotime() を使うととても便利です。 先月の日付を取得します。 コードは以下のように表示されます。 関数 getlastMonthDays($date){ $timestamp=strtotime($date); $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 配列($firstday,$lastday)を返します。 } まずタイムスタンプを取得して前月の日付を取得する必要があります。その後、月に -1 を追加するだけでOKです。これは、2014-0-1 などを 2013-12-01 に変換します。とてもクールです。 来月の日付を取得します。 コードは以下のように表示されます。 関数 getNextMonthDays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); If($arr['mon'] == 12){ $year=$arr['年'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); }それ以外{ $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); } 配列($firstday,$lastday)を返します。 } 来月の日付のコードは少し長くなるように思えます。 date() は 2014-13-01 のようなものを変換できず、直接 1970 年に戻るため、12 月を除く 12 月の問題を前に処理する必要があります。 、月を直接 +1 するだけでOKです。 全体的にとても便利で、日付機能が強力すぎます。