蛸メモ

PHP、Wordpressなどなど。勉強したことを全部、まとまってなくても気にせずどんどん書くメモ。

【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」と表す。

Author
id:web_octopus web_octopus

web無職