В языке Java Script для работы с датой и временем предназначен встроенный объект Date. Объект Date предоставляет многочисленные методы для манипуляции датой и временем. Подробнее со стандартными возможностями объекта Date можно познакомиться в учебнике или справке по языку.
Объект Date создается при помощи ключевого слова new. В случае если конструктор вызван без параметров возвращаются текущие дата и время.
// Текущие дата и время.
new Date();
Также в качестве параметра в конструктор объекта Date можно передать либо строковое представление даты в ISO формате, либо числовые значения компонентов даты(год, месяц и т.д.).
// Создание даты путем передачи строкового представления даты в ISO формате.
new Date('2024-09-17T10:40:21');
// Создание даты путем передачи значений компонентов даты.
new Date(2024, 9, 17, 10, 40, 21, 0);
Также текущую дату и время можно получить с помощью функции BaSYS dateTimeNow(). Данная функция создана для удобства использования, результат её вызова эквивалентен new Date().
// Текущая дата и время. Эквивалентно new Date().
dateTimeNow();
Для удобства работы с датой и временем мы создали ряд методов, расширяющих объект Date.
Возвращает начало дня для указанной даты.
dateValue.beginDay();
нет
Date
(new Date('2024-09-17T11:39:45')).beginDay(); // 17.09.2024 00:00:00
Возвращает конец дня для указанной даты.
dateValue.endDay();
нет
Date
(new Date('2024-09-17T11:39:45')).endDay(); // 17.09.2024 23:59:59.999
Добавляет указанное количество дней к дате. Если передано отрицательное число, будет выполнено вычитание. Дробная часть отбрасывается.
dateValue.addDays(days);
days: number - число добавляемых дней.
Date
(new Date('2024-09-17T11:39:45')).addDays(1); // 18.09.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addDays(1.3); // 18.09.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addDays(-1); // 16.09.2024 11:39:45
Возвращает начало месяца для указанной даты. Данный метод создает новый объект Date, устанавливая дату на первый день месяца в 00:00:00.
dateValue.beginMonth();
нет
Date
(new Date('2024-09-17T11:39:45')).beginMonth(); // 01.09.2024 00:00:00
Возвращает конец месяца для указанной даты. Данный метод создает новый объект Date, устанавливая дату на последний день месяца в 23:59:59.999.
dateValue.endMonth();
нет
Date
(new Date('2024-09-17T11:39:45')).endMonth(); // 30.09.2024 23:59:59.999
Добавляет указанное количество месяцев к дате. Если передано отрицательное число, будет выполнено вычитание. Дробная часть отбрасывается.
dateValue.addMonths(months);
months: number - число добавляемых месяцев.
Date
(new Date('2024-09-17T11:39:45')).addMonths(1); // 17.10.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addMonths(1.3); // 17.10.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addMonths(-1); // 17.08.2024 11:39:45
Возвращает начало квартала для указанной даты. Данный метод создает новый объект Date, устанавливая дату на первый квартала месяца в 00:00:00.
dateValue.beginQuarter();
нет
Date
(new Date('2024-09-17T11:39:45')).beginQuarter(); // 01.08.2024 00:00:00
Возвращает конец квартала для указанной даты. Данный метод создает новый объект Date, устанавливая дату на последний день квартала в 23:59:59.999.
dateValue.endQuarter();
нет
Date
(new Date('2024-09-17T11:39:45')).endQuarter(); // 30.09.2024 23:59:59.999
Добавляет указанное количество кварталов к дате. Если передано отрицательное число, будет выполнено вычитание. Дробная часть отбрасывается.
dateValue.addQuarters(quarters);
quarters: number - число добавляемых кварталов.
Date
(new Date('2024-09-17T11:39:45')).addQuarters(1); // 17.12.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addQuarters(1.3); // 17.12.2024 11:39:45
(new Date('2024-09-17T11:39:45')).addQuarters(-1); // 17.06.2024 11:39:45
Возвращает начало года для указанной даты. Данный метод создает новый объект Date, устанавливая дату на первый день года в 00:00:00.
dateValue.beginYear();
нет
Date
(new Date('2024-09-17T11:39:45')).beginYear(); // 01.01.2024 00:00:00
Возвращает конец года для указанной даты. Данный метод создает новый объект Date, устанавливая дату на последний день года в 23:59:59.999.
dateValue.endYear();
нет
Date
(new Date('2024-09-17T11:39:45')).endYear(); // 31.12.2024 23:59:59.999
Добавляет указанное количество лет к дате. Если передано отрицательное число, будет выполнено вычитание. Дробная часть отбрасывается.
dateValue.addYears(years);
years: number - число добавляемых лет.
Date
(new Date('2024-09-17T11:39:45')).addYears(1); // 17.09.2025 11:39:45
(new Date('2024-09-17T11:39:45')).addYears(1.3); // 17.09.2025 11:39:45
(new Date('2024-09-17T11:39:45')).addYears(-1); // 17.09.2023 11:39:45
Вычисляет разность между двумя датами для различных типов интервала. Разность вычисляется между конечной датой и начальной датой finishDate - startDate. Если дата окончания интервала предшествует дате начала интервала, результат будет отрицательным. При использовании интервала ‘quarter’, каждый квартал считается как 3 месяца.
dateDifference(startDate, finishDate, intervalKind)
startDate: Date - дата начала интервала.
finishDate: Date - дата окончания интервала.
intervalKind: String - вид интервала. Допустимые значения:
Number
var date1 = new Date('2024-09-17');
var date2 = new Date('2025-09-19');
dateDifference(date1, date2, 'day'); // 367
dateDifference(date1, date2, 'quarter'); // 4
dateDifference(date1, date2, 'month'); // 12
dateDifference(date1, date2, 'year'); // 1
Возвращает текущую дату и время. Данная функция создана для удобства использования, результат её вызова эквивалентен new Date().
dateTimeNow()
нет
Date