0

以下のスクリプト:

<?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"

何が起こっているかについてのアイデアはありますか?

4

2 に答える 2

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

于 2013-05-12T03:55:53.280 に答える
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);

コードパッド

于 2013-05-12T03:57:37.587 に答える