我有一个由Web层调用的中间件服务。中间件服务托管在中央服务器中,该服务器在PST中具有时区。
当向服务发出请求时,返回的日期时间数据是PST格式,即服务器时区。但我需要在我的网络层中有一个解决方案,将此PST时间响应转换为相应的客户端计算机时区,该时区可能因用户而异。
在javascript中我有什么方法可以处理这个时区转换吗?
答案 0 :(得分:0)
如果您知道偏移量是PST(UTC -0800),那么您可以创建等效的UTC值并将它们传递给Date构造函数。这将根据系统设置创建一个合适的Date对象,其中包含所需的时间值和偏移量。
鉴于2015-12-01T05:02:00的格式,则:
function parseAsPST(s) {
var b = s.split(/\D/);
return new Date(Date.UTC(b[0], b[1]-1 ,b[2], +b[3] + 8, b[4], b[5]));
}
var d = parseAsPST('2015-12-01T05:02:00');
document.write('ISO 8601: ' + d.toISOString() + '<br>' +
'Local string: ' + d.toLocaleString());
&#13;
但是,如果响应是PST,则当服务器所在的位置更改为该时区时,您可能会获得PDT。由于您获得的字符串不包含时区,您如何判断该字符串是PST还是PDT?