如何用Momentjs获取昨天的日期?


118

所以,我的问题很简单,如何获得MomentJs的昨天约会?用Javascript非常简单,即

today = new Date();
yesterday = new Date(today.setDate(today.getDate() - 1))

console.log(yesterday)

但是如何使用MomentJs实现呢?


3
moment()。add('days',-1);
roeb

6
也有new Date(Date.now() - 8.64e7)。;-)
RobG

Answers:


190

就像这样:moment().subtract(1, 'days')。它将为您提供前一天的本地计算机上相同的确切当前时间。


2
从表面上尝试了此方法,但对我没有用。我必须为结果提供某种类型的格式。例如'moment()。subtract(1,'days')。calendar()'或'moment()。subtract(1,'days')。toDate()'或'moment()。subtract(1,'days ').format(“ MM / DD / YYYY”)'
安德鲁

94

另外:

moment().subtract(1, 'day')

它将为您提供与本地PC上相同的当前时间的前一天。


自一个月以来,我一直在使用此方法,但我发现该方法在本月初无法正常工作。因此moment(date).subtract(-1, 'day'),第一天会返回当月的最后一天,而不是上个月的最后一天。有人知道更多吗?
3ky

您可以moment().subtract(1, 'day')代替moment().subtract(-1, 'day')
Sai Ram

@sam忘了减号,只是一个错字。是否有原因我尝试moment(date).add(-1, 'day')过相同的结果。
3ky

36

当我们得到昨天的日期时,有三种可能性

1.获取当前时间的昨天日期

moment().subtract(1, 'days').toString()

2.从昨天开始获取昨天的日期

moment().subtract(1, 'days').startOf('day').toString()      

3.获取昨天结束的日期

moment().subtract(1, 'days').endOf('day').toString()


5

您可以轻松地从使用中减去天数

var yesterday = moment().subtract(1, 'days')

并寻找上一个日期

var previousDay = moment('2017/11/6', 'YYYY/MM/DD').subtract(1, 'days')


3

昨天的日期为Momentjs,格式为DD-MM-YYYY。

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)

0

这对我有用:

var yesterday = new Date(dateInput.getTime());
yesterday.setDate(yesterday.getDate() - 1);
console.log(yesterday);

var tomorrow = new Date(dateInput.getTime());
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow);

dateB = moment(yesterday).format("YYYYMMDD");
dateA = moment(tomorrow).format("YYYYMMDD");
console.log(dateB);
console.log(dateA);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.