Как получить вчера дату в узле.JS backend?
Я использую формат даты пакет в узле back end, и я могу получить сегодняшнюю дату с помощью
var today = dateFormat(new Date());
Таким же или каким-то другим способом я хочу вчерашнюю дату. И все же я не нашел подходящего метода. В настоящее время я вычисляю вчерашнюю дату вручную с большим количеством кода. Есть ли какой-либо другой метод, кроме написания вручную ?
6 ответов:
Я хотел бы взглянуть на момент.js если вы заинтересованы в выполнении вычислений с датами, есть много проблем, с которыми вы можете столкнуться, пытаясь сделать это вручную или даже со встроенными объектами Date в JavaScript/node.js, такие как високосные годы и переход на летнее время.
Например:
var moment = require('moment'); var yesterday = moment().subtract(1, 'days'); console.log(yesterday.format());
Извлечение вчерашней даты из сегодняшней
//optimized way var yesterday = new Date(); yesterday.setDate(yesterday.getDate()-1); console.log(yesterday) // log yesterday's date //in-detail way var today = new Date(); var yesterday = new Date(); yesterday.setDate(today.getDate()-1); console.log(yesterday) // log yesterday's date
Вы также можете изменить атрибуты час, минута, секунды и миллисекунды объекта времени, как это.
var date = new Date(); date.setDate(date.getDate()-1); date.setHours(hour); date.setMinutes(minute); date.setSeconds(seconds); date.setMilliseconds(milliseconds);
Чтобы получить строку в формате, знакомом людям
// Date String returned in format yyyy-mm-dd function getYesterdayString(){ var date = new Date(); date.setDate(date.getDate() - 1); var day = ("0" + date.getDate()).slice(-2); var month = ("0" + (date.getMonth() + 1)).slice(-2); // fix 0 index return (date.getYear() + 1900) + '-' + month + '-' + day; }
Класс Date выдаст текущую системную дату, а current_ date-1-дату вчерашнего дня.
Например:
var d = new Date(); // Today! d.setDate(d.getDate() - 1); // Yesterday!
Comments