Date 矩分析区域给出了意外的结果
Date 矩分析区域给出了意外的结果,date,timezone,momentjs,Date,Timezone,Momentjs,const输入='02/02/1700 12:30' 常量输入格式=['DD/MM/YYYY HH:MM'] const displayFormat='YYYY-MM-DDTHH:MM:ss' 日志(瞬间(输入,输入格式,真)) console.log(矩(input,inputFormat,true).format()) console.log(矩.utc(输入,输入格式,真)) console.log(矩.utc(input,inputFormat,true).format()) conso
const输入='02/02/1700 12:30'
常量输入格式=['DD/MM/YYYY HH:MM']
const displayFormat='YYYY-MM-DDTHH:MM:ss'
日志(瞬间(输入,输入格式,真))
console.log(矩(input,inputFormat,true).format())
console.log(矩.utc(输入,输入格式,真))
console.log(矩.utc(input,inputFormat,true).format())
console.log(矩.parseZone(输入,输入格式,true))
console.log(矩.parseZone(input,inputFormat,true).format())
log(矩.tz(输入,输入格式,true,'Asia/hongkong'))
console.log(矩.tz(输入,输入格式,true,'Asia/hongkong').format())
有几件事:
- 不要直接记录
时刻。始终使用输出函数,如
format
- 当您解析in-Moment时,内部Moment正在调用
对象上的setter。由于没有经过秒或毫秒,因此永远不会调用该设置程序。如果你有秒数,你会看到它们像预期的那样被设置为零Date
- 在这种情况下,它们不存在的原因是存在一个长期存在的浏览器错误,即在
上或之前构建的1883-11-18T12:03:57.999Z
对象。请参阅,以及相关问题。这不是一时的错误,而是JavaScript浏览器的怪癖。这只对很早的日期很重要Date
专门用于输入中包含时区偏移量的情况下-数字如parseZone
或-07:00
(表示UTC)。您的示例输入字符串中既没有也没有Z