PHPで前月の初日と末日のタイムスタンプを取得する

php-prev-month
  • URLをコピーしました!

今回は、PHP前月の初日の0時0分0秒と、前月の末日の23時59分59秒を取得し、タイムスタンプ形式で変換する方法をご紹介します。
この方法を使えば、前月のデータの集計したい場合などに役に立つと思います。

目次

前月の初日と末日を取得する

現在の日付から前月初日を取得する場合によく使われるのは、strtotime()関数で現在の月から1を引いて、date()関数フォーマットで1日を指定する方法です。

しかし、前月末日を取得する場合は、この方法だと無理があります。
月によって30日や31日あったり、2月については閏年によって28日や29日とバラバラだからです。
そこで便利なのが、strtotime()関数引数に以下の文字列を入れて取得する方法です!

  • 前月の初日
    first day of previous month
  • 前月の末日
    last day of previous month

これだけで簡単に前月の末日も取得することができます!

最初と最後の時間を指定する

ただ、このままタイムスタンプ変換してしまうと、現在の時間で取得されてしまいます。
0時0分0秒23時59分59秒を指定するには、そのままdate()関数フォーマットにそのまま書いてあげます。

タイムスタンプに変換する

ここまで来たら後は簡単です。
そもそも、strtotime()文字列からタイムスタンプに変換する関数なので、上記の取得した文字列をもう一度strtotime()関数でタイムスタンプ変換したら完成です!

ちなみに、先月ではなく今月にしたい場合は、[previous]を[this]に変えるだけでOKです!

以上!お疲れ様でした!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次