0

私は時間のものを処理するためのphpを持っています:

[PHP]echo date('Y-m-d H:i:s', $_POST['time']);

次に、時間値をphpに投稿するためのjavascriptがあります。

[javascript]var $new_time = Math.round((new Date("2009-09-09T23:15:00")).getTime()/1000);
            $.ajax({
              url:"...",
              data:{time:$new_time},
              type: "post",
              async: false,
              dataType: "html",
              success: function(data,textStatus,jqXHR) {
                     alert(data);   
              }
            });

アラートには、次のように表示されます2009-09-10 01:15:00。えっと、その理由を誰か教えてください。

4

2 に答える 2

2

他のほとんどの形式とは異なり、ISO 形式の日付文字列を指定すると、JavaScript はそれが UTC であると想定します。

var date = new Date("2009-09-09T23:15:00");

console.log(date.toUTCString()); // Wed, 09 Sep 2009 23:15:00 GMT

PHP がシステムのローカルタイムゾーンの日付を出力している間。

日付を UTC/GMT 全体で表示したい場合は、次を使用できますgmdate()

echo gmdate('Y-m-d H:i:s', $_POST['time']);
于 2013-09-11T03:38:59.423 に答える
0

Javascript はエンド ユーザーのローカル コンピューターの時計を使用しますが、PHP はリモート サーバーの時刻とタイムゾーンの設定を使用します。PHP で現在の時刻とタイムゾーン オフセットを出力するサンプル ページを作成し、使用しているコンピューターと比較してみてください。

于 2013-09-11T03:30:32.607 に答える