Рассчитать дату вчера в JavaScript - PullRequest
226 голосов
/ 01 апреля 2011

Как рассчитать вчера как дату в JavaScript?

Ответы [ 15 ]

2 голосов
/ 12 октября 2017

Попробуйте, у меня работает:

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

Это вернуло мне объект даты вчерашнего дня

2 голосов
/ 12 февраля 2014
d.setHours(0,0,0,0);

сделает свое дело

0 голосов
/ 05 ноября 2018

«Date.now () - 86400000» не будет работать в день окончания перехода на летнее время (у которого в этот день 25 часов)

Другой вариант - использовать Closure:

var d = new goog.date.Date();
d.add(new goog.date.Interval(0, 0, -1));
0 голосов
/ 25 июля 2018

Вы можете использовать моменты, это очень полезно, вы можете достичь многого с помощью этой библиотеки.

Получить вчерашнюю дату с текущим временем moment().subtract(1, 'days').toString()

Получить вчерашнюю дату с началомдата moment().subtract(1, 'days').startOf('day').toString()

0 голосов
/ 16 апреля 2018

Если вы хотите получить дату вчерашнего дня и отформатировать ее в удобочитаемом формате, подумайте о создании пользовательского объекта DateHelper, который выглядит примерно так:

var DateHelper = {
    addDays : function(aDate, numberOfDays) {
        aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
        return aDate;                                  // Return the date
    },
    format : function format(date) {
        return [
           ("0" + date.getDate()).slice(-2),           // Get day and pad it with zeroes
           ("0" + (date.getMonth()+1)).slice(-2),      // Get month and pad it with zeroes
           date.getFullYear()                          // Get full year
        ].join('/');                                   // Glue the pieces together
    }
}

// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Subtract 1 day
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), -1));

(см. Также эту скрипку )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...