我使用 moment(dateFromAPI,"YYYY-MM-DD")
来解析日期,它以“2018-06-29T18:30:00.000Z”的格式给出日期。
但我需要以“2018-06-29T08:51:00Z”格式发送日期。
Can anyone explain to me what is this "2018-06-29T08:51:00Z" format?
and what format string should I use to achieve this?
最佳答案
这是 UTC 格式的完整 ISO-8601 日期/时间。它是您可以在没有格式字符串的情况下可靠且正确地传递给 moment
的少数格式之一:
var m = moment("2018-06-29T18:30:00.000Z");
那是因为它在 the only format that JavaScript's Date
object is required to support 中. (但是在 ES2015 中引入的那部分必须在 ES2016 和 ES2017 中进行修改,并注意当字符串 [there is in yours, Z
] 上没有时区指示符时,date-只有字符串被解释为 UTC,日期/时间字符串被解释为本地时间,这与 ISO-8601 不同。)
您可以使用 utc
在几毫秒内生成您的字符串和 format
并在末尾添加 Z
:
console.log(m.utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"); // "2018-06-29T18:30:00.000Z"
例子:
var m = moment("2018-06-29T18:30:00.000Z");
console.log(m.utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"); // "2018-06-29T18:30:00.000Z"
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
更多信息 the documentation .
关于javascript - "2018-06-29T08:51:00Z"是什么时间格式?你能告诉我我应该在 moment.js 中使用什么格式的字符串来实现这个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51024992/