4

可能重复:
获取日期格式的 PHP 函数?

例如:

$date = date_parse('2010-09-17 14:00:00');

得到我:

year    =>  2010
month   =>  9
day     =>  17
hour    =>  14
minute  =>  0
second  =>  0

根据 PHP 如何解释字符串,它对应于这种格式:

Y-m-d H:i:s

给定任何日期字符串,如何获取 date_parse / strtotime 所理解的格式字符串?

4

1 回答 1

4

使用这种方式:

date("Y-m-d H:i:s", strtotime('2010-09-17 14:00:00'));

猜测日期格式:

我在 StackOverflow的一个答案中看到:

不,没有这样的功能来猜测日期格式。您需要编写一组正则表达式匹配来表达所有可能的变化,例如

$variations = array (
    '^([0-9]{4})/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{4}2$' => 'Y/m/d H:i:s',
    // more here
);

foreach ($dateFromDatabase as $date) {
    foreach ($variations as $regexp => $dateFormat) {
        if (preg_match ('|' . $regexp . '|', $date)) {
            $matches[$dateFromDatabase] = $dateFormat;
            break;
        }
    }
}

// $matches now consists of an array of dates => format
于 2012-12-31T03:02:40.087 回答