Hierarchy
- TDatetime
Properties
Readonly day
День месяца (1-31).
Readonly hours
Часы (0-23).
Readonly milliseconds
Миллисекунды (0-999).
Readonly minutes
Минуты (0-59).
Readonly month
Месяц (1-12).
Readonly seconds
Секунды (0-59).
Readonly year
Год.
Methods
add
addDate
-
Добавить дни, месяцы, годы.
Parameters
-
years: number
-
month: number
-
days: number
Returns TDatetime
-
after
-
Проверка, что текущая дата идёт после
date
.Parameters
-
date: TDatetime
Returns boolean
-
afterOrEqual
-
Проверка, что текущая дата идет после
date
или совпадает с этим значением.Пример использования:
const startDatetime = new Datetime(); const endDatetime = (new Datetime()).addDate(0, 0, 1); const beforeOrEqual = startDatetime.afterOrEqual(endDatetime); // false
Parameters
-
date: TDatetime
Returns boolean
-
asDate
-
Приведение к стандартному типу
Date
.Returns Date
before
-
Проверка, что текущая дата идёт перед
date
.Parameters
-
date: TDatetime
Returns boolean
-
beforeOrEqual
-
Проверка, что текущая дата идёт перед
date
или совпадает с этим значением.Пример использования:
const startDatetime = new Datetime(); const endDatetime = (new Datetime()).addDate(0, 0, 1); const beforeOrEqual = startDatetime.beforeOrEqual(endDatetime); // true
Parameters
-
date: TDatetime
Returns boolean
-
equal
-
Проверка на совпадение.
Parameters
-
date: TDatetime
Returns boolean
-
format
-
Приведение к строке в определённом формате.
Используется синтаксис moment.format(), например:
const datetime = new Datetime(); datetime.format(); // "2022-02-24T09:00:00+04:00" (стандарт ISO 8601) datetime.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "четверг, февраль 24-го 2022, 9:00:00 утра" datetime.format("ddd, h A"); // "чт, 9 утра" datetime.format("[Сегодня] dddd"); // "Сегодня четверг"
Parameters
-
Optional format: undefined | string
Returns string
-
getDate
getTime
getTz
-
Получить часовой пояс.
Returns TTimezone
sub
truncateTime
-
Округлить до начала дня.
Сбрасывает время до 00:00 и возвращает дату по UTC.
Returns TDatetime
unix
-
Количество секунд от 00:00:00 01.01.1970 UTC.
Returns number
utc
-
Возвращает дату и время по UTC.
Returns TDatetime
Дата и время
Важно: для инициализации
Datetime
не следует использовать объект JavaScriptDate
Имеет конструкторы:
new Datetime(value: string, format?: string): TDatetime; new Datetime(value: number) : TDatetime; new Datetime(year: number, month: number, day?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): TDatetime;
Примеры создания объектов даты-времени:
const now = new Datetime(); const datetime1 = new Datetime(2022, 2, 24, 9, 0, 0, 0); const datetime2 = new Datetime(1645686000); const datetime3 = new Datetime('2022-02-24'); const datetime4 = new Datetime('2022-02-24T00:00:00.000Z'); const datetime5 = new Datetime('24.02.2022', 'DD.MM.YYYY');
Если в конструкторе записывать дату как строку и не указывать формат, то по умолчанию значение проверяется на соответствие формату
YYYY-MM-DDTHH:mm:ss.SSSZ
. Поэтому задавать значение можно как:Значения этого типа неизменяемые, так что методы мутации возвращают обновлённое значение, не меняя исходного.
const now = new Datetime(); const yesterday = now.addDate(0, 0, -1); now.after(yesterday) // true
Чтобы все расчёты в скрипте проходили в часовом поясе пользователя, нужно это явно указать, задав текущую временную зону:
// Получаем нужного пользователя для расчетов const user = ...; // Устанавливаем временную зону для всех дальнейших вычислений в скрипте System.timezones.current = user.timezone; const today_22_00 = Context.data.datavremya.getDate().asDatetime(new TTime(22, 0, 0, 0));