php中的日期格式,意外结果

时间:2013-05-12 03:41:49

标签: php date formatting strtotime

下面的脚本:

<?php
$postedDate = "Sat May 11 2013 20:36:24 GMT-0700 (PDT)";
$date  = date('Y-m-d H:i:s', strtotime($postedDate));

echo json_encode($date);
?>

返回值:

"2013-05-12 03:36:24"

我希望并希望它返回值:

"2013-05-11 20:36:24"

关于发生了什么的任何想法?

2 个答案:

答案 0 :(得分:0)

试试这个:

$str = 'Sat May 11 2013 20:36:24 GMT-0700 (PDT)';
$date  = date('Y-m-d H:i:s',strtotime('-7 hours',strtotime($str)));

echo json_encode($date);

或使用date_default_timezone_set正确设置时区 http://php.net/manual/ja/function.date-default-timezone-set.php

答案 1 :(得分:0)

删除GMT - 0700 (PDT),然后尝试获得所需的结果

$postedDate = "Sat May 11 2013 20:36:24";
$date  = date('Y-m-d H:i:s', strtotime($postedDate));

echo json_encode($date);

Codepad