PHP日期来自字符串

时间:2014-02-06 00:28:52

标签: php strtotime

我有一个特定的日期格式,我需要转换为正常的日期。

strtotime()无法正确解析它。

$fulldate = 'Tue Feb 04 2014 09:30:00 GMT-0800 (Pacific Standard Time)';

echo $fulldate.'<br />';
echo strtotime($fulldate).'<br />';
echo date('Y-m-d g:i a', strtotime($fulldate));

任何想法?

2 个答案:

答案 0 :(得分:2)

您只需使用DateTime对象:

<?php
    $fulldate = 'Tue Feb 04 2014 09:30:00 GMT-0800 (Pacific Standard Time)';
    //remove everything between the brackets
    $dateString = preg_replace("/\([^)]+\)/","",$fulldate);
    //now, get your date object
    $date = new DateTime($dateString);
    echo $date->format('Y-m-d H:i:s');
?>

在此尝试小提琴:http://ideone.com/odwtUH

答案 1 :(得分:0)

由于最后一部分(在括号之间),它不是标准的日期格式。

一个想法:

$tokens = explode("(", $fulldate);
array_pop($tokens);
$fulldate = trim(join("(", $tokens));
echo strtotime($fulldate);