(PHP 5 >= 5.3.0)
DateTime::createFromFormat — 指定した書式でフォーマットした新しい DateTime オブジェクトを返す
指定した書式でフォーマットした新しい DateTime オブジェクトを返します。
date() が理解できる書式。
format に文字 ! が含まれない場合は、指定した日付時刻値のうち time で指定されていない部分を 現在のシステム時刻で初期化します。
format に文字 ! が含まれる場合は、作成された日付時刻値のうち ! の左側の部分を Unix エポックの対応する箇所の値で初期化します。
format の最初の文字が ! の場合は、作成された日付時刻値のうち time で指定されていない部分を Unix エポックの対応する箇所の値で初期化します。
Unix エポックは 1970-01-01 00:00:00 です。
時刻を表す文字列。
タイムゾーン。
新しい DateTime のインスタンスを返します。
例1 ! を用いたデフォルトの日付時刻値のリセット
<?php
echo "Current system date and time: " . date('Y-m-d H:i:s') . "\n";
$format = 'Y-m-d';
$dt = DateTime::createFromFormat($format, '2009-02-03');
echo "Format: $format; " . $dt->date . "\n";
$format = 'Y-m-d H:i:s';
$dt = DateTime::createFromFormat($format, '2009-02-03 15:16:17');
echo "Format: $format; " . $dt->date . "\n";
$format = 'Y-m-!d H:i:s';
$dt = DateTime::createFromFormat($format, '2009-02-03 15:16:17');
echo "Format: $format; " . $dt->date . "\n";
$format = '!Y-m-d';
$dt = DateTime::createFromFormat($format, '2009-02-03');
echo "Format: $format; " . $dt->date . "\n";
?>
上の例の出力は、このようになります (現在のシステム時刻を考慮しています)。
Current system date and time: 2009-09-13 01:04:03 Format: Y-m-d; 2009-02-03 01:04:03 Format: Y-m-d H:i:s; 2009-02-03 15:16:17 Format: Y-m-!d H:i:s; 1970-01-03 15:16:17 Format: !Y-m-d; 2009-02-03 00:00:00