English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基礎チュートリアル

PHP 高级チュートリアル

PHP & MySQL

PHP 参考マニュアル

PHP date_parse_from_format() 函数の用法と例

PHP Date & Time 函数マニュアル

date_parse_from_format()関数は指定された形式でフォーマットされた給定の日付に関する情報を取得します。

定義と用法

date_parse_from_format()関数は形式文字列と日付文字列をパラメータとして受け取り、指定された形式で給定の日付に関する情報を返します。

構文

date_parse($date)

パラメータ

序号パラメータ及び説明
1

format(必須)

これは、日付情報をフォーマットする必要がある形式を示す文字列値です。

2

date(必須)

これは、その情報が必要な日付を示す文字列値です。

返り値

date_create_from_format()関数は指定された形式で保存された給定の日付に関する情報を含む配列を返します。

PHPバージョン

この関数は最初に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] =>
)