Узнайте, как легко добавлять минуты к объекту Date в JavaScript.
1. Методы Date setMinutes() и getMinutes()
Чтобы добавить минуты к Date
в JavaScript, вызовите метод getMinutes()
для Date
, чтобы получить минуты, затем вызовите метод setMinutes()
для Date
, передав сумму Date
минут и минут для добавления.
function addMinutes(date, minutes) { date.setMinutes(date.getMinutes() + minutes);
return date; }
const date = new Date('2022-05-15T00:00:00.000Z');
const newDate = addMinutes(date, 10);
// 2022-05-15T00:10:00.000Z console.log(newDate);
Наша функция addMinutes()
принимает в качестве аргументов Date
и количество минут, которое нужно добавить, и возвращает то же самое Date
с вновь добавленными минутами.
Метод Date
getMinutes()
возвращает число от 0 до 59, которое представляет минуты Date
.
Метод Date
setMinutes()
принимает число, представляющее минуты, и устанавливает минуты Date
в это число.
Если указанные вами минуты изменят час, день, месяц или год Date
, setMinutes()
автоматически обновит информацию Date
, чтобы отразить это.
const date = new Date('2022-05-15T00:00:00.000Z');
date.setMinutes(date.getMinutes() + 150); console.log(date);
В этом примере передача 150
в setMinutes()
увеличивает Date
часов на 2 (120 минут) и устанавливает минуты на 30
.
Как избежать побочных эффектов
Метод setMinutes()
изменяет объект Date
, для которого он вызывается. Это вносит побочный эффект в нашу функцию addMinutes()
. Чтобы избежать изменения переданного Date
и создать чистую функцию, сделайте копию Date
и вызовите setMinutes()
на этой копии вместо оригинала:
function addMinutes(date, minutes) { const dateCopy = new Date(date); dateCopy.setMinutes(date.getMinutes() + minutes);
return dateCopy; }
const date = new Date('2022-05-15T00:00:00.000Z');
const newDate = addMinutes(date, 10);
console.log(newDate); // 2022-05-15T00:10:00.000Z
// Original not modified console.log(date); // 2022-05-15T00:00:00.000Z
Кончик
Функции, которые не изменяют внешнее состояние (т. е. чистые функции), как правило, более предсказуемы и о них легче рассуждать. Это делает хорошей практикой ограничение количества побочных эффектов в ваших программах.
2. date-fns addMinutes()
Кроме того, вы можете использовать чистую функцию addMinutes()
из пакета date-fns
NPM, чтобы быстро добавить минуты к Date
.
import { addMinutes } from 'date-fns';
const date = new Date('2022-05-15T00:00:00.000Z'); const newDate = addMinutes(date, 10);
console.log(newDate); // 2022-05-15T00:10:00.000Z
// Original not modified. console.log(date); // 2022-05-15T00:00:00.000Z
Обновлено на: codingbeautydev.com
Все сумасшедшие вещи, которые делает JavaScript
Увлекательное руководство по тонким предостережениям и менее известным частям JavaScript.
Зарегистрируйтесь и немедленно получите бесплатную копию.