DateTime::createFromFormat: 指定した書式でフォーマットした新しい DateTime オブジェクトを返す (DateTime) - PHPプロ!マニュアル
DateTime::createFromFormat: 指定した書式でフォーマットした新しい DateTime オブジェクトを返す
DateTime::createFromFormat
(PHP 5 >= 5.3.0)
DateTime::createFromFormat — 指定した書式でフォーマットした新しい DateTime オブジェクトを返す
説明
オブジェクト指向型
手続き型
指定した書式でフォーマットした新しい DateTime オブジェクトを返します。
パラメータ
- format
-
date() が理解できる書式。
format に文字 ! が含まれない場合は、作成した時刻値のうち format で指定されていない部分を 現在のシステム時刻で初期化します。
format に文字 ! が含まれる場合は、作成した時刻値のうち format で指定されていない部分と ! の左側の部分を Unix エポックの対応する箇所の値で初期化します。
Unix エポックは 1970-01-01 00:00:00 です。
- time
-
時刻を表す文字列。
- timezone
-
指定したいタイムゾーンを表す DateTimeZone オブジェクト。
返り値
新しい DateTime のインスタンス、失敗した場合に FALSE を返します。
例
例1 DateTime::createFromFormat() の例
オブジェクト指向型
<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>手続き型
<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>上の例の出力は以下となります。
2009-02-15
例2 DateTime::createFromFormat() の複雑な例
<?php
echo 'Current time: ' . date('Y-m-d H:i:s') . "\n";
$format = 'Y-m-d';
$date = DateTime::createFromFormat($format, '2009-02-15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
$format = 'Y-m-!d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
$format = '!d';
$date = DateTime::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>上の例の出力は、 たとえば以下のようになります。
Current time: 2010-04-23 10:29:35 Format: Y-m-d; 2009-02-15 10:29:35 Format: Y-m-d H:i:s; 2009-02-15 15:16:17 Format: Y-m-!d H:i:s; 1970-01-15 15:16:17 Format: !d; 1970-01-15 00:00:00
参考
- DateTime::__construct() - 新しい DateTime オブジェクトを返す
- DateTime::getLastErrors() - 警告およびエラーを返す




ページのトップへ


一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。