PHPプログラムに関する各種メモ書き

PHPで日付を扱う(Datetimeまたは DateTimeImmutable )クラス

● PHPで日付を扱うにはDatetime(または DateTimeImmutable )クラスを使用します。

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
echo $dt->format('Y/m/d (D) H:i:s');

戻り値

2017-05-20 07:01:28
2017/05/20 (Sat) 07:01:28

年月日等をバラバラに取り出すときは次のようにします

$dt = new DateTime();
$year = $dt->format('Y'); // 2017
$month = $dt->format('m'); // 04
$day = $dt->format('d'); // 03

● 前の月や次の月など相対的な日付をセットする

$dt->modify('-1 months');	// 1ヶ月 前
$dt->modify('+1 months');	// 1ヶ月 後

$dt->modify('−12 hours');	//12時間 前
$dt->modify('+12 hours');	//12時間 後

$dt->modify('-30 minutes');	//30分 前
$dt->modify('+30 minutes');	//30分 後

$dt->modify('-1 weeks');	//1週間 前
$dt->modify('+1 weeks');	//1週間 後

$dt->modify('first day of this months');	// その月の最初の日
$dt->modify('last day of this months');		// その月の最後の日

$dt->modify('first day of last months');	// 前月の最初の日
$dt->modify('last day of last months');		// 前月の最後の日

$dt->modify('first day of next months');	// 次の月の最初の日
$dt->modify('last day of next months');		// 次の月の最後の日

● php のDatetimeオブジェクトは2種類ある

状況によって使い分けると良いでしょう

● PHP DateTime クラス (ミュータブルなオブジェクト)

http://php.net/manual/ja/class.datetime.php

● PHP DateTimeImmutable クラス (イミュータブルなオブジェクト)

http://php.net/manual/ja/class.datetimeimmutable.php
クラスの説明

このクラスの挙動は DateTime とほぼ同じですが、 自分自身は変更せずに新しいオブジェクトを返すという点だけが異なります。

です

No.1113
04/23 11:28

edit