【问题标题】:Javascript parsing json date timezone mismatch causes wrong date to displayJavascript解析json日期时区不匹配导致错误日期显示
【发布时间】:2012-07-07 15:18:08
【问题描述】:

根据加载页面的机器的时区,javascript 解析日期的显示会有所不同。

SERVER TIME: EST
MACHINE #1 TIME: EST - shows proper date
MACHINE #2 TIME: EST - shows proper date
MACHINE #3 TIME: PST - shows one day earlier 
MACHINE #4 TIME: PST - shows one day earlier 

我想知道如何解析 JSON 日期,这样时区就不会成为一个因素。这是我当前的代码:

var jsonDate = "/Date(1341633600000)/";
var formattedDate = new Date(parseInt(jsonDate.substr(6)));
return formattedDate.getMonth() + 1 + "/" + formattedDate.getDate() + "/" + formattedDate.getFullYear();

忽略时区偏移的最佳方法是什么?

【问题讨论】:

    标签: javascript json date timezone-offset


    【解决方案1】:

    问题与解析日期无关。您正在向客户端发送 UTC 时间戳,并且客户端(正确地)以本地术语反映日期。

    您始终可以使用getUTCxxx 方法(getUTCDate()getUTCMonth()getUTCFullYear())使页面将日期显示为 UTC。或者,您可以将时间戳转换为服务器上本地时区的日期字符串,这样客户端时区就根本不会计算在内。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    相关资源
    最近更新 更多