如何将时间和日期字符串转换为 ISO 格式

How to convert time and date string to ISO format

我有两个输入,一个时间和一个日期输入。我正在尝试将它们格式化为 ISO 字符串以使用 moment.js.

发送到后端

这是我目前拥有的 01:00 2016-01-01,我需要将其格式化或转换为 ISO。有没有办法使用 Moment 来做到这一点?

要转换 ISO 我推荐更标准的

date.format();

JSON.stringify(yourDate)

或者如果你更喜欢 momentjs:

var date = moment();
date.toISOString();

moment(yourDate).format('MM/DD/YYYY'); // <- your custom format string

想知道momentjs的格式化规则是什么start reading here

假设您指的是 ISO8601 和 momentjs (2.10.6),我目前是这样做的

var example = momentObject.format("YYYY-MM-DD[T]HH:mm:ss");

您需要使用 moment 的解析函数首先根据您拥有的数据创建正确的 moment 对象(假设 24 小时制,月份列在天之前):

var myMoment = moment("01:00 2016-01-01", "HH:mm YYYY-MM-DD");

然后就可以使用moment的格式化功能将日期输出成你想要的ISO格式了。注意调用不带任何参数的format函数默认会输出ISO 8601:

myMoment.format();

查看时刻文档了解更多信息here

希望对您有所帮助!