【PHP】DateTimeクラス、DateIntervalクラス
DateTimeクラス
php5.2以上から使用可
構文
new DateTime([string $time = "now"]) $time=日付・時刻文字列
日付・時刻文字列は日付、時刻として解釈できる文字列のこと。「YYYY/MM/DD hh:mm:ss」など。
メソッド
setDateメソッド
setTimeメソッド
<?php $now = new DateTime(); $now->setDate(2013,1,20); $now->setTime(4,12,40); echo $now->format('Y/m/d H:i:s'); //結果:2013/01/20 04:12:40 ?>
本来の範囲を超えた数値が指定された場合には自動的に解釈される
<?php $now = new DateTime(); $now->setDate(2013,1,20); $now->setTime(4,70,40); echo $now->format('Y/m/d H:i:s'); //結果:2013/01/20 05:10:40 ?>
setTimestampメソッド
Unixタイムスタンプを設定するメソッド。
タイムスタンプは単なる整数値なので、日付の加算/減算、比較などに使用しやすい。
<?php $now = new DateTime(); $now->setTimestamp(time()); echo $now->format('Y/m/d H:i:s'); ?>
time()は現在の日時のタイムスタンプを求めるための日付・時刻関数。
getTimestampメソッド
DateTimeオブジェクトからUnixタイムスタンプを取得する
addメソッド
subメソッド
日付/時刻値の加算/減算を行う。
PHP5.3以降で使用可。
DateTime Datetime::add(DateInterval $interval) DateTime DateTime::sub(DateInterval $interval) $interval:日付/時間間隔
加算/減算する日付/時刻はDateIntervalクラスで表す。
diffメソッド
DateIntervalクラス
構文
new DateInterval(string $spec) $spec:日付/時間を表す間隔文字列
$spec1はP<日付間隔>T<時間間隔>の形式で表す。
日付/時間間隔は「数値+間隔指示子」で表す。
間隔指示子
単位 | 概要 |
---|---|
Y | 年 |
M | 月 |
D | 日 |
W | 週(Dと一緒には利用できない) |
H | 時間 |
M | 分 |
S | 秒 |
例えば2年2ヶ月は「P2Y2M」、4日と15分は「P4DT15M」と表す。