小编典典

使用 Moment.js 格式化日期并减去天数

all

我想要一个变量以DD-MM-YYYY使用 Moment.js 的格式保存昨天的日期。所以如果今天是 15-04-2015,我想减去一天,得到
14-4-2015。

我尝试了一些这样的组合:

startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');

和这个:

startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');

还有这个:

startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')

但我不明白…


阅读 68

收藏
2022-08-20

共1个答案

小编典典

你有多个奇怪的事情发生。第一个已在您的帖子中进行了编辑,但它与调用方法的顺序有关。

.format返回一个字符串。字符串没有subtract方法。

第二个问题是您正在减去一天,但实际上并未将其保存为变量。

那么,您的代码应如下所示:

var startdate = moment();
startdate = startdate.subtract(1, "days");
startdate = startdate.format("DD-MM-YYYY");

但是,您可以将其链接在一起;这看起来像:

var startdate = moment().subtract(1, "days").format("DD-MM-YYYY");

不同之处在于我们将 startdate 设置为您在 startdate 上所做的更改,因为 moment 具有破坏性。

2022-08-20