date

коллекция методов для форматирования и работы с date

object date;
Details

Объект date включает несколько удобных методов:

  • add(date, number, unit) - изменяет date, добавляя или вычитая указанный промежуток времени
    • date - (Date) объект date для изменения
    • number - (number) количество единиц времени для добавления; положительные значения добавляют время, отрицательные вычитают
    • unit - ('minute', 'hour', 'day', 'week', 'month', 'year') единица времени
//добавляет 1 год к указанной дате: 29 июня 2019 -> 29 июня 2020
var newDate = scheduler.date.add(new Date(2019, 05, 29), 1, 'year');
  • convert_to_utc(date) - конвертирует локальную дату в её UTC эквивалент
    • date - (Date) объект date для конвертации
//29 июня 2019 14:00 (локальное время) -> 29 июня 2019 12:00 (UTC)
var time = scheduler.date.convert_to_utc(new Date(2019, 05, 29, 14, 00));
  • copy(date) - создаёт копию объекта Date
    • date - (Date) объект date для копирования
var copy = scheduler.date.copy(new Date(2019, 05, 29)); // -> 29 июня 2019
  • date_part(date) - сбрасывает время в date до 00:00:00
    • date - (Date) объект date для изменения
//29 июня 2019 14:30:10 -> 29 июня 2019 00:00:00
var date = scheduler.date.date_part(new Date(2019, 05, 29, 14, 30, 10));
  • date_to_str(format, utc) - возвращает функцию, которая преобразует Date в строку в заданном формате
var formatFunc = scheduler.date.date_to_str("%d/%m/%Y");
var date = formatFunc(new Date(2019, 05, 29)); // -> "29/06/2019"
  • day_start(date) - сбрасывает время date до 00:00:00; алиас для метода date_part. Используется в Day view для установки отображаемой даты и может быть настроен при необходимости
    • date - (Date) объект date для изменения
//29 июня 2019 14:30:10 -> 29 июня 2019 00:00:00
var date = scheduler.date.day_start(new Date(2019, 05, 29, 14, 30, 10));

Примечание, этот метод изменяет переданный ему объект date. Чтобы избежать изменения оригинальной даты, оберните её в new Date перед передачей. Например:

var date1 = new Date(2019, 05, 29, 14, 30, 10);
var date2 = scheduler.date.day_start(new Date(date1));
  • getISOWeek(date) - возвращает номер ISO недели для заданной даты
    • date - (Date) объект date для вычисления
var week = scheduler.date.getISOWeek(new Date(2019, 05, 29)); // -> 26
  • getUTCISOWeek(date) - возвращает номер ISO недели для даты после конвертации в UTC
    • date - (Date) объект date для вычисления
var week = scheduler.date.getUTCISOWeek(new Date(2019, 05, 29)); // -> 26
  • month_start(date) - возвращает новый объект Date, представляющий первый день месяца с обнулённым временем 00:00:00
    • date - (Date) объект date для обработки
//29 июня 2019 14:30 -> 01 июня 2019 00:00
var firstDay = scheduler.date.month_start(new Date(2019, 05, 29, 14, 30));
  • str_to_date(format, utc, parseExact) - возвращает функцию, которая преобразует строку с датой заданного формата в объект Date
    • format - (string) формат date (см. Спецификация формата даты)
    • utc - (boolean) преобразовывать ли локальное время в UTC
    • parseExact - (boolean) определяет, должен ли Scheduler автоматически определять формат даты (false по умолчанию) или строго использовать заданный формат (true)
var formatFunc = scheduler.date.str_to_date("%d/%m/%Y");
var date = formatFunc("29/06/2019"); // -> 29 июня 2019 00:00:00
  • time_part(date) - возвращает временную часть Date в виде количества секунд, прошедших с полуночи (00:00:00)
    • date - (Date) объект date для вычисления
var time = scheduler.date.time_part(new Date(2019, 05, 29, 14, 30, 10));
//time -> 52210
  • to_fixed(num) - форматирует числа меньше 10, добавляя ведущий ноль и возвращая строку; числа 10 и больше возвращаются без изменений
    • num - (number) число для форматирования
var num1 = scheduler.date.to_fixed(2);  // -> "02"
var num2 = scheduler.date.to_fixed(10); // -> 10
  • week_start(date) - возвращает объект Date первого дня недели для заданной даты с временем 00:00:00
    • date - (Date) объект date для обработки
//29 июня 2019 14:30 -> 24 июня 2019 00:00
var weekStart = scheduler.date.week_start(new Date(2019, 05, 29, 14, 30));
  • year_start(date) - возвращает объект Date первого дня года для заданной даты с обнулённым временем 00:00:00
    • date - (Date) объект date для обработки
//29 июня 2019 14:30 -> 01 января 2019 00:00
var yearStart = scheduler.date.year_start(new Date(2019, 05, 29, 14, 30));
Наверх