Moment JS : 时区日期转换为当地时区

问题描述 投票:0回答:2

我使用的是 日期选择器

我从数据库中得到的值是 2020-05-06T00:00:00.000Z .

当把这个值分配给DatePicker时,我想用这个格式。

2020年5月6日 星期三 00:00:00 GMT+0530 (印度标准时间)

注意: GMT+530(印度标准时间) 根据系统时间的不同,可能会有所不同。

如何才能做到这一点?

我已经使用了时刻库。

但它给我的输出是这样的。2020-05-06 05:30:00

任何帮助将是巨大的。

谢谢你的帮助。

 let date = '2020-05-06T00:00:00.000Z'
 
 let dateValue = moment(date).local().format('YYYY-MM-DD HH:mm:ss')
 
 console.log("Date : " , dateValue)
javascript timezone momentjs localtime
2个回答
1
投票

尝试使用 moment 库的 toDate() 函数,因为它从你的本地系统获取时区。

let dateValue = moment(date).local().toDate();

0
投票

自定义格式

2020年5月6日 星期三 00:00:00 GMT+0530

'ddd MMM D YYYY HH:MM:SS [GMT]ZZ'

ddd=3个字符的工作日

MMM=3个月

D = 1或2位数的月份日期

YYYY = 4位数年份

HH:MM:SS无需解释

[格林尼治标准时间]格式字符串内的转义字符串。

ZZ = 当地时区与祖鲁时间的偏移。


0
投票

这可以通过在力矩对象上设置UTC标志,然后转换为局部力矩对象,再根据需要进行格式化来实现。

对于您的输入

var test = moment.utc("2020-05-06T00:00:00.000Z");
var localDate = moment(test).local();
console.log(localDate.format("ddd MMM D YYYY HH:MM:SS [GMT]Z"));
<script src="https://momentjs.com/downloads/moment.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.