PHP入門 DateTimeクラス 日付/時刻文字列を解析する(createFromFormatメソッド)

createFromFormat静的メソッドは、指定した書式文字列で日付/時刻文字列を解析(パース)し、DateTimeオブジェクトを生成します。(失敗した場合は、falseを返します)

構文:createFromFormatメソッド

DateTime::createFromFormat(string $format, string $datetime[, ?DateTimeZone $timezone]): Datetime|false
$format書式文字列
$datetime日付/時刻文字列
$timezoneタイムゾーン

DateTimeクラスではインスタンス化の際に日付/時刻文字列を渡すことができます。ここで指定できる日付/時刻値の書式には一定の制限があります。「2024年12月01日 11時23分55秒」のような日本語混在の値を認識することはできません。このような場合には、createFromFormatメソッドを利用します。

<?php
$fmt = 'Y年m月d日 H時i分s秒';
$time = '2024年01月15日 11時58分11秒';
$dt = DateTime::createFromFormat($fmt, $time);
print $dt->format('Y-m-d H:i:s')
実行結果
実行結果