2014-09-17 20 views
21

Tôi muốn rút ngắn 7 ngày kể từ ngày hiện tại để nhận ngày được định dạng YYYY-MM-DD bằng thư viện moment.js.Moment JS - cách trừ 7 ngày kể từ ngày hiện tại?

Tôi cố gắng làm theo cách này:

dateTo = moment(new Date()).format('YYYY-MM-DD'); 
    dateFrom = moment(new Date() - 7).format('YYYY-MM-DD'); 

    console.log(dateFrom); 
    console.log(dateTo); 

Nhưng tất cả trở lại giá trị là như nhau.

Làm cách nào để tôi có thể giải quyết?

Trả lời

48

Có thể là:

dateTo = moment().format('YYYY-MM-DD'); 
dateFrom = moment().subtract(7,'d').format('YYYY-MM-DD'); 
+3

Cũng đáng chú ý, 'thời điểm (new Date()) === moment() ' – Timespace

2

Đối tượng ngày, khi được đúc, tính bằng mili giây. vậy:

dateFrom = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD'); 
+0

Và những gì nếu tôi muốn vượt qua cái gì đó như dateTo - dateFrom? – redrom

+0

['Date.getMilliseconds()'] (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Objets_globaux/Date/getMilliseconds) – Vinz243

+0

Cách tiếp cận này không an toàn cho những ngày gần thời gian chuyển tiếp tiết kiệm ánh sáng ban ngày. Không phải tất cả các ngày đều dài 24 giờ. –

Các vấn đề liên quan