保留 MomentJS 日期的原始格式

Keep Original Format of MomentJS Date

有很多关于 moment().format() 的信息,但是 none 我可以找到我想做的事情。

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

示例:

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"

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

使用Moment.js(版本2.10.7+),您可以使用创建数据API。

moment(date).creationData().format

对于上述情况,您可以围绕时刻创建一个包装函数,例如

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

addDate(user1)

在无法获取格式的情况下,它将使用默认格式