为了解决在部署项目时出现的时区问题,我需要将以毫秒格式显示的当前日期转换为以毫秒为单位的相应UTC日期。如何解决?
在尝试了不同的方法之后,这是我发现的最有效,最有效的解决方案。
var d = new Date(); //d can be any date we need to convert.
var millisec= d.getTime()+ (d.getTimezoneOffset() * 60000);
getTimeZoneOffset()以分钟为单位返回偏移时间
编辑:
实际上,上面的代码将偏移量添加到本地日期(而不是减去),并且我的服务器(UTC)允许取回服务器上的本地时间。
我需要服务器中的本地时间,正如我稍后意识到的那样,我们在使用的API数据中有本地时间。
因此,回到最初的问题,将本地转换为UTC的可能解决方案是:
var d = new Date(); //d can be any date we need to convert.
var millisec= d.getTime() - (d.getTimezoneOffset() * 60000);
稍后在另一个项目中,我以字符串形式使用以下日期:
一个。从本地转换为UTC(发送到服务器时):
new Date().toUTCString()
b。转换回本地(从服务器获取数据到Web时:
date.toLocaleDateString("en-AU", {
weekday: 'short', year: 'numeric', month: 'short', day: 'numeric',
hour12: false, hour: 'numeric', minute: 'numeric', second: 'numeric'
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句