DateTime
PHP Manual

DateTime::createFromFormat

(PHP 5 >= 5.3.0)

DateTime::createFromFormat指定した書式でフォーマットした新しい DateTime オブジェクトを返す

説明

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

指定した書式でフォーマットした新しい DateTime オブジェクトを返します。

パラメータ

format

date() が理解できる書式。

format に文字 ! が含まれない場合は、指定した日付時刻値のうち time で指定されていない部分を 現在のシステム時刻で初期化します。

format に文字 ! が含まれる場合は、作成された日付時刻値のうち ! の左側の部分を Unix エポックの対応する箇所の値で初期化します。

format の最初の文字が ! の場合は、作成された日付時刻値のうち time で指定されていない部分を Unix エポックの対応する箇所の値で初期化します。

Unix エポックは 1970-01-01 00:00:00 です。

time

時刻を表す文字列。

timezone

タイムゾーン。

返り値

新しい 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


DateTime
PHP Manual