[英]How to get UTC date in milliseconds format similiar to new Date().getTime() in javascript?
为了解决部署项目时出现的时区问题,我需要将当前毫秒格式的日期转换为相应的毫秒格式的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()
湾转换回本地(同时从服务器获取数据到网络:
date.toLocaleDateString("en-AU", {
weekday: 'short', year: 'numeric', month: 'short', day: 'numeric',
hour12: false, hour: 'numeric', minute: 'numeric', second: 'numeric'
});
Javascript 有一个功能, getTime() :
function myFunction() {
var d = new Date();
var n = d.getTime();
return n;
}
这是一个很大的“蠕虫罐”,因为时区在一年中进入和离开夏令时,然后有时会发生变化。
如果您不介意您的时间可能有 1 小时的错误,那么最简单的方法就是添加或减去您拥有的时区与 UTC 之间的毫秒数差异。 虽然我建议你看看moment-timezone库,但要做到正确: http : //momentjs.com/timezone/
const utcDate = new Date().toUTCString(); // Mon, 21 Dec 2020 11:13:16 GMT
const sendToServer = Date.parse(utcDate); //1608549196000
const myLocalDate = 新日期(1608549196000);
// 202000 年 12 月 22 日星期二:13:16 GMT+1300(新西兰夏令时)
谢谢!!
var myDate = new Date();
var utcDate = myDate.toUTCString();
var milliSec = utcDate.getMilliseconds();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.