phpの日付ライブラリであるdateTimeについて。
過去のリンク
CakePHP3 日付ライブラリ(Time)について
http://skill-up-engineering.com/?p=2758
strtotime
http://skill-up-engineering.com/?p=808
Javaの日付関数
http://skill-up-engineering.com/?p=258
http://skill-up-engineering.com/?p=560
Perlでの日付
http://skill-up-engineering.com/?p=2274
頻出表現
通常のインスタンス作成
1 2 |
$day1 = new DateTime(); var_dump($day1); |
一般的な形式からの取り込み
1 2 3 4 5 |
$day1 = new DateTime('1980/05/13'); var_dump($day1); $day1 = new DateTime('1980-05-13'); var_dump($day1); |
年月日自分秒を独自に設定
1 2 3 |
$day1 = new DateTime(); $day1->setDate(1980,5,13)->setTime(11,55,22); var_dump($day1); |
先週・先月・月末などの設定
1 2 3 4 5 |
$day1 = new DateTime('last day of this month'); var_dump($day1); $day1 = new DateTime('last week'); var_dump($day1); |
任意フォーマットへの出力(個別の年月日などもこれで取り出す)
※基本的にはdateのformatがそのまま使えるようです。
1 2 |
$day1 = new DateTime(); echo $day1->format('Ymd H:i:s'); |
タイムスタンプの出力
1 2 |
$day1 = new DateTime('1980-05-13'); echo $day1->getTimestamp() |
加算・減算
1 2 3 4 5 6 7 8 9 |
$day1 = new DateTime(); $day1->modify('+1 months'); var_dump($day1); //pをかしらにつけて表し、年月日と時分秒の間にはTを入れる(詳しくは公式を・・) //1年2か月4日6時間8分後 $interval = new DateInterval('P1Y2M4DT6H8M'); $day1 = new DateTime(); $day1->add($interval); var_dump($day1); |
差の判定
1 2 3 4 5 6 7 |
$day1 = new DateTime('2011-11-10'); $day2 = new DateTime('2011-11-15'); $diff = $day1->diff($day2); //DateIntervalなので加減にそのまま使える var_dump($diff); //formatは公式参照 echo $diff->format("%R%a"); |