phpで日付を取得する

phpで日付を取得する

こんにちは、開発部の仲野です。
キャンペーンなど、phpで日付を扱うことって結構ありますよね。
今回は日付を扱うときによく使う関数についてまとめました。

date()

第1引数にフォーマット、第2引数にUnixタイムスタンプを入れて使います。
第2引数で指定されたタイムスタンプを第1引数で指定したフォーマット文字によってフォーマットした文字列を返します。
第2引数のタイムスタンプが与えられない場合は、現在の時刻が使われます。

 

まずは今日の日付を取得します。

カウントダウンなどに使う場合はスタートする日付に$todayをそのまま使えます。

 

月末〆のキャンペーンであれば下のように書くだけで始まりの日付と終わりの日付が得られます。

 

日本語にしたい場合はフォーマットを変えるだけ。

 

上の例はすべて第2引数を渡さず、現在の時間をもとに表示されます。
第2引数にUnixタイムスタンプを入れるために必要なのが次で説明するstrtotime()です。

 
strtotime()

第1引数に英文形式の日付/時刻、第2引数にUnixタイムスタンプを入れて使います。
第2引数のタイムスタンプを基準とした第1引数の日時をタイムスタンプで返します。
第2引数のタイムスタンプが与えられない場合は、現在の時刻が使われます。

 

これで任意の日付のタイムスタンプが得られます。

 

この様に指定すると○日後、次の○曜日等、第2引数のタイムスタンプを基準としたあらゆるパターンの日時が得られます。
(上の例では第2引数がないので現在を基準に計算されます。)
これを date()関数と組み合わせることで、相対的な日時を簡単に取得することができます。

 

試しに毎週日曜日が締め切りのキャンペーンの場合を見てみましょう。

曜日も取得することができるので、あとはこれにif文などを組み合わせれば
水曜・日曜と月末等 複数の期限をもったキャンペーンの日付も簡単に取得できますね。

 
注意点

・日付の計算をする(strtotime()を使う)場合は第2引数は英文形式でないとうまく動きません日本語の日付にしたいときは日数を計算したあとdate()でフォーマットを変えましょう。

 

Previous: 「経営者の条件」より開発部門管理についての思考 第一弾 Next: はやくJavaScriptでクラスを使いたい

© 2017 ALL CONNECT Inc. All Rights Reserved.