为什么我的jquery new Date()函数会覆盖传入的参数?

时间:2015-09-29 16:15:17

标签: javascript php jquery datetime

我有以下PHP代码,它返回不同时区的时间:

<?php
date_default_timezone_set('America/New_York'); 
echo (new DateTime())->format('r');
?>

并且工作正常,当我在浏览器中运行时,我得到时间:

Tue, 29 Sep 2015 12:07:01 -0400

现在,我有一个jquery脚本调用ajax这个php页面并在我的页面上显示它。它是这样开始的:

$.ajax({
    type: 'GET', 
    url: 'timeinnewyork.php',
    complete: function(resp){

        var today;
        today = new Date(resp.responseText);
        alert(resp.responseText);
        alert(today);
        (...)

并且第一个警报返回纽约的时间:

Tue, 29 Sep 2015 12:07:27 -0400

但第二个显示我目前的欧洲时区:

Tue Sep 29 2015 18:07:27 GMT+0200 (Central Europe Daylight Time)

我想用纽约时间而不是当地时间。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

从PHP返回UTC时间,然后使用http://momentjs.com/timezone/

等库在JS中进行格式化