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 回答