0

なぜdate_parse文字列の年を認識しないのですか?

<?php
$string = "Saturday, 23 March, 2013";
print_r(date_parse($string));
?>

結果、

Array
(
    [year] => 
    [month] => 3
    [day] => 23
    [hour] => 20
    [minute] => 13
    [second] => 0
    [fraction] => 0
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 
    [relative] => Array
        (
            [year] => 0
            [month] => 0
            [day] => 0
            [hour] => 0
            [minute] => 0
            [second] => 0
            [weekday] => 6
        )

)
4

2 に答える 2

4

形式が正しくないようです。次のようにすると、正しい年が返されます。

$string = "Saturday, 23 March, 2013";
                             ^ //no comma here, should be just 23 March 2013

サポートされている形式のどこでも、日付文字列と時間文字列のすべてのコンポーネントが同じ区切り文字で区切られていることがわかります。

于 2013-03-13T19:19:45.240 に答える
0

strtotime()を試すこともできます。これは驚くべき機能であり、「3日前」のような相対的な入力も含めてさまざまな入力を処理します。

于 2013-03-13T19:35:26.260 に答える