保留 MomentJS 日期的原始格式

时间:2021-01-05 06:31:10

标签: javascript momentjs

有很多关于 moment().format() 的信息,但我找不到关于我想要做什么的信息。

我让用户以任何格式输入日期。我希望有时间添加天数,然后以原始格式输出结果。

示例:

var user1 = "2021-01-05";
var user2 = "01/05/2021";
var nextDate1 = moment(user1).add(1,'days');
var nextDate2 = moment(user2).add(1,'days');

nextDate 的期望输出:user1="2021-01-06"user2="01/06/2021"
两个用户的 nextDate 的实际输出为:"Wed Jan 06 2021 00:24:00 GMT-0600"

如前所述,格式可能会有所不同,因此我想要某种方法来检测原始格式或是否内置了该格式。

1 个答案:

答案 0 :(得分:1)

通过 Moment.js(版本 2.10.7+),您可以使用 Creation Data API。

moment(date).creationData().format

对于上述情况,您可以创建一个类似的包装函数

const addDate = function (date) {
   const m = moment(date).add(1,'days');
   return m.format(m.creationData().format);
}

addDate(user1)

如果无法获取格式,则使用默认格式