问题描述
这是我的输入日期,
let inputDate = '2021-01-15T11:22:10.000Z'
。
我想将日期格式更改为 MM/DD/YYYY HH:mm:ss
为此,我使用了以下我使用的 moment.js 。这是我的代码,
moment(inputDate).format('MM/DD/YYYY HH:mm:ss') = 01/15/2021 16:52:10
格式化日期后,我得到了添加时区的日期。如何以 MM/DD/YYYY HH:mm:ss 格式获取确切时间?
我也尝试了以下方法;
moment(inputDate).local(true).format('MM/DD/YYYY HH:mm:ss')
moment(inputDate).utcOffset(330).format('MM/DD/YYYY HH:mm:ss')
moment(inputDate).utcOffset(0).format('MM/DD/YYYY HH:mm:ss')
moment(inputDate).utcOffset("+05:30").format('MM/DD/YYYY HH:mm:ss')
moment(inputDate).utcOffset("-05:30").format('MM/DD/YYYY HH:mm:ss')
请帮我找出问题所在。
解决方法
您应该告诉 moment 您提供的日期是 UTC。您可以使用 utc()
函数实现此目的:
moment.utc(inputDate)
如果在 utc()
之后格式化,您将看到 UTC 时区的日期:
moment.utc(inputDate).format('MM/DD/YYYY HH:mm:ss')
let inputDate = '2021-01-15T11:22:10.000Z';
console.log(moment.utc(inputDate).format('MM/DD/YYYY HH:mm:ss'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>