English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
date_parse_from_format()関数は指定された形式でフォーマットされた給定の日付に関する情報を取得します。
date_parse_from_format()関数は形式文字列と日付文字列をパラメータとして受け取り、指定された形式で給定の日付に関する情報を返します。
date_parse($date)
序号 | パラメータ及び説明 |
---|---|
1 | format(必須) これは、日付情報をフォーマットする必要がある形式を示す文字列値です。 |
2 | date(必須) これは、その情報が必要な日付を示す文字列値です。 |
date_create_from_format()関数は指定された形式で保存された給定の日付に関する情報を含む配列を返します。
この関数は最初にPHPバージョンで導入されました。5.3.0で導入され、すべての上位バージョンで使用できます。
以下の例では、date_parse_from_format()関数の使用法-
<?php //DateTimeオブジェクトを作成します $date = "1989-08-25"; $format = "Y-m-d"; $res = date_parse_from_format($format, $date); print_r($res); ?>テストを見て‹/›
出力結果
配列 ( [year] => 1989 [month] => 8 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 0 [errors] => 配列 ( ) [is_localtime] => )
異なる日付の形式を解析してみましょう-
<?php $res1 = date_parse_from_format("j.n.Y", "25.8.2014"); print_r($res1); $res2 = date_parse_from_format("y-d-m", "2014-25-8"); print_r($res2); $res3 = date_parse_from_format("n/j/y", "8/25/2014"); print_r($res3); $res4 = date_parse_from_format("D.M.Y", "25.8.2014"); print_r($res4); $res5 = date_parse_from_format("H/i/s", "12/32/25"); print_r($res5); ?>テストを見て‹/›
出力結果
配列 ( [year] => 2014 [month] => 8 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 0 [errors] => 配列 ( ) [is_localtime] => ) 配列 ( [year] => 2020 [month] => 25 [day] => 14 [hour] => [minute] => [second] => [fraction] => [warning_count] => 1 [warnings] => 配列 ( [7] => パースされた日付が無効です ) [error_count] => 2 [errors] => 配列 ( [2] => 区切り記号が見つかりませんでした [7] => トレーリングデータ ) [is_localtime] => ) 配列 ( [year] => 2020 [month] => 8 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 1 [errors] => 配列 ( [7] => トレーリングデータ ) [is_localtime] => ) 配列 ( [year] => 8 [month] => [day] => [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 4 [errors] => 配列 ( [0] => テキスト形式の日付が見つかりませんでした [3] => 区切り記号が見つかりませんでした [4] => トレーリングデータ ) [is_localtime] => ) 配列 ( [year] => [month] => [day] => [hour] => 12 [minute] => 32 [second] => 25 [fraction] => 0 [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 0 [errors] => 配列 ( ) [is_localtime] => )
以下の例では、date_parse_from_format()の相対形式を示しています-
<?php print_r(date_parse_from_format("Y-m-d", "2009-18-18-+52 week +25 hour")); print("\n"); print_r(date_parse_from_format("Y-m-d", "1990-06-06 +52 week +25 hour")); ?>テストを見て‹/›
以下の結果が生成されます-
配列 ( [year] => 2009 [month] => 18 [day] => 18 [hour] => [minute] => [second] => [fraction] => [warning_count] => 1 [warnings] => 配列 ( [10] => パースされた日付が無効です ) [error_count] => 1 [errors] => 配列 ( [10] => トレーリングデータ ) [is_localtime] => ) 配列 ( [year] => 1990 [month] => 6 [day] => 6 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => 配列 ( ) [error_count] => 1 [errors] => 配列 ( [10] => トレーリングデータ ) [is_localtime] => )