🦁

【php】DateTimeクラスを使ってみよう

2022/08/08に公開

time()とかdate()とかstrtotime()とかじゃなくて
DateTimeクラス使ってみましょう!
参考: PHP: DateTime - Manual

public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

と、書いてあるようにコンストラクタとして任意の時間とタイムゾーンを入力することができます。
個人的に任意の時間を入力するシーンがそんなにないので現在時を求めます↓
使い方は簡単です。オブジェクトを生成して、フォーマットを入力するだけです。

// DateTimeオブジェクト
$objDate = new DateTime();
// フォーマットを指定して出力
$now = $objDate->format("Y-m-d");
// 1ヶ月後の日付
$after_one_month = $objDate->add(new DateInterval("P1M"))->format("Y-m-d");

nowとafter_one_monthは出力すると以下です。

$now = 2018-05-18
$after_one_month = 2018-06-18

date("フォーマット", strtotime(時間)) ってかくより個人的に直観的でいいなって思います。
いろんな書き方やメソッドがあるみたいなんで是非参考にしてみてください

Discussion