Javascript 解析 json 日期时区不匹配会导致显示错误的日期

Javascript parsing json date timezone mismatch causes wrong date to display

本文关键字:日期 显示 错误 不匹配 解析 json 时区 Javascript      更新时间:2023-09-26

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();

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

该问题与

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

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