我需要正确的时间从`1609891200000` 不使用时刻,但我不知道为什么我一直得到 5:30 作为时间

问题描述

var now = moment(1609891200000,"x").format('MMM DD h:mm A');
var x = new Date(1609891200000);
console.log(now); // Prints Jan 06 12:00 AM
console.log(x.toLocaleTimeString()); // Prints 05:30:00

我需要一种方法来获得正确的时间,即 12:00 AM 而不使用时刻。 任何人都可以帮忙吗??

解决方法

您应该提供时区代码, 如果没有代码,则默认提供

var date = new Date(Date.UTC(2012,11,12,3,0));

// toLocaleTimeString() without arguments depends on the implementation,// the default locale,and the default time zone
console.log(date.toLocaleTimeString());
// → "7:00:00 PM" if run in en-US locale with time zone America/Los_Angeles

相反,您可以使用

var x = new Date(1609891200000);
x.toGMTString() // "Wed,06 Jan 2021 00:00:00 GMT"
x.toUTCString() // "Wed,06 Jan 2021 00:00:00 GMT"
x.toISOString() // "2021-01-06T00:00:00.000Z"

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...