今日プログラムを書いていたら、昔書いた数値を取得する関数を突然発見しました。古典的なスイッチバージョンですが、前月の日数を取得したときに、その月があまりにも眠かったため、不気味な気分になりました。本当はもう一度対処したかったのですが、よく考えたら何か超便利な方法があるはずなので、以下のバージョンを見つけて少し修正しました。
今月の日付を取得します:
リーリー$firstday は月の最初の日です。$date が 2014-2 の場合、$firstday は 2014-02-01 になります。$firstday に 1 か月を加算すると 2014-03-01 が得られ、1 日を減算すると 2014-02-01 になります。 2014. -02-28, date() と strtotime() を使うととても便利です。
先月の日付を取得します:
リーリー前月の日付を取得するには、まずタイムスタンプを取得してから、その月に -1 を追加する必要があります。これは、2014-0-1 を 2013-12-01 に変換します。とてもクールです。
来月の日付を取得:
リーリー来月の日付のコードは少し長くなるように思えます。date() は 2014-13-01 のようなものを変換できないため、直接 1970 年に戻ってしまいます。そのため、前段で 12 月の問題に対処する必要があります。 12月は直接行って月+1でOKです。
全体的にとても便利です、日付機能が強力すぎます。
最後にstrtotimeの使い方を簡単にご紹介します
指定された日付のUNIXタイムスタンプを取得します
Strtotime("2009-1-22") 例は次のとおりです。
echo strtotime("2009-1-22")
結果: 1232553600
説明: 2009 年 1 月 22 日 0:00:00 のタイムスタンプを返します
英語テキストの日付時刻を取得します
比較を容易にするために、date を使用して現在のタイムスタンプと指定されたタイムスタンプをシステム時間に変換します
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("+1 day"))
結果: 2009-01-23 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("-1 day"))
結果: 2009-01-21 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("+1週間"))
結果: 2009-01-29 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("-1 週間"))
結果: 2009-01-15 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("次の木曜日"))
結果: 2009-01-29 00:00:00
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時間:
echo date("Y-m-d H:i:s",strtotime("先週の木曜日"))
結果: 2009-01-15 00:00:00
興味があるかもしれない記事: