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

标签 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)

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

最佳答案

从 PHP 返回 UTC 时间,然后使用 http://momentjs.com/timezone/ 等库在 JS 中进行格式化

关于javascript - 为什么我的 jquery new Date() 函数会覆盖传入的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848969/

相关文章:

javascript - 如何在 JavaScript 中迭代对象原型(prototype)的属性?

javascript - 无法使用 webpack 和 Laravel 混合加载 popper.js

javascript - 将对象作为数组的数组进行垃圾收集

php - apc.filters 按路径?

jquery - 如何通过jquery获取responseheader位置

javascript - 过滤数组中的重复值

javascript - 特殊单例模式的 JSDoc

javascript - POST 请求提示已成功,但未发送数据

php - 如何使用 javascript 获取和显示 youtube 视频列表

jquery - 这种代替 AJAX 请求图像的方法有多糟糕?