我有一个日期字符串,格式为dd.MM.yyyy HH:mm:ss
,但我想将其UTC转换为本地日期。如何使用矩型库做到这一点?
const dateStr = '20.09.2018 16:12:37';
const format = 'dd.MM.yyyy HH:mm:ss';
// for local time of UTC +3.00 new date Str will be 20.09.2018 19:12:37
答案 0 :(得分:1)
您必须使用moment.utc(String, String)
使用UTC模式解析字符串
默认情况下,时刻会解析并以当地时间显示。
如果要解析或显示UTC时间,可以使用
optimizer=adam
代替model.compile()
然后您可以使用local()
将其转换为本地时间:
在原始时刻上设置标记,以使用本地时间显示时刻,而不是原始时刻。
请注意,由于您输入的Debug.Break
并非ISO 8601 / RCF 2822认可的格式,因此在解析时必须specify format。 Morover矩令牌区分大小写,因此您必须使用大写moment.utc()
而不是moment()
来解析年份,并使用大写dateStr
来解析月份中的一天,因为小写YYYY
代表day一周(星期一,星期二等)。
这里有一个现场样本:
yyyy
DD
请查看Local vs UTC vs Offset指南,以更好地了解UTC和区域设置模式在momentjs中如何工作。
答案 1 :(得分:0)
要将UTC转换为本地,您需要使用 moment.local()方法
const dateStr = '20.09.2018 16:12:37';
const format = 'DD.MM.YYYY HH:mm:ss';
var newDate = moment.utc().format(format);
var temp= moment.utc(newDate, format);
var local = moment(temp).local().format(format);