使用“时刻”设置日期格式并减去天数.js

2022-08-30 01:56:21

我想要一个变量来保存昨天的日期,格式为Moment.js。因此,如果今天是15-04-2015,我想减去一天,并有14-4-2015。DD-MM-YYYY

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

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')

但我没有得到它...


答案 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");

不同之处在于,我们将开始日期设置为您在开始日期上所做的更改,因为时刻是破坏性的。


答案 2
var date = new Date();

var targetDate = moment(date).subtract(1, 'day').toDate(); // date object

现在,您可以格式化要查看此日期的方式,也可以将此日期与另一个日期进行比较等。

toDate()功能是重点。