如何获得以毫秒为单位的UTC日期格式类似于javascript中的新Date()。getTime()?

时间:2015-10-21 09:54:03

标签: javascript date utc

要解决部署项目时遇到的时区问题,我需要将当前日期以毫秒格式转换为相应的UTC日期(毫秒)。如何解决?

5 个答案:

答案 0 :(得分:1)

尝试不同的方法后,我发现这是最有效和最有效的解决方案。

       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'
            });

答案 1 :(得分:0)

Javascript有一个功能,getTime()

function myFunction() {
    var d = new Date();
    var n = d.getTime();
    return n;
}

答案 2 :(得分:0)

由于时区在一年中进入和离开夏令时,这是一个很大的蠕虫病毒,然后有时会在他们这样做的时候发生变化。

如果你不介意你的时间可能错误1小时,那么最简单的事情就是加上或减去你所拥有的时区和UTC之间的毫秒数差。为了做到这一点,我建议你看一下时刻时区库:http://momentjs.com/timezone/

答案 3 :(得分:0)

var myDate = new Date(); 
var utcDate = myDate.toUTCString();
var milliSec = utcDate.getMilliseconds();

答案 4 :(得分:0)

  • 这里我提供了一种最简单的解决方案来转换我们的本地 保存在服务器中的时间到 UTC 毫秒。
<块引用>
const utcDate = new Date().toUTCString();
// Mon, 21 Dec 2020 11:13:16 GMT
  • 这会将日期打印为 UTC 字符串,如上所述。你可以转换它 使用 UTC 毫秒,
<块引用>
const sendToServer = Date.parse(utcDate);  //1608549196000
  • 您可以使用以下方法将该 UTC 毫秒转换为您的本地时间
<块引用>

const myLocalDate = new Date(1608549196000);
// 202000 年 12 月 22 日星期二:13:16 GMT+1300(新西兰夏令时)

谢谢!!