Skip to content

Дата и время

Roman TSovanyan edited this page Oct 29, 2017 · 1 revision

Работа с датой и временем

Литералы даты, в отличие от 1С, записываются в виде обычных символьных строк в формате RFC3339.

"2006-01-02T15:04:05+03:00" = 2 января 2006 года 15 часов 4 минуты 5 секунд, Московское время

Преобразование строк в даты осуществляется функцией Дата(переменная_или_строковый_литерал)

Для выражений с датами и временем, предусмотрено несколько встроенных констант:

  • ДлительностьНаносекунды
  • ДлительностьМикросекунды
  • ДлительностьМиллисекунды
  • ДлительностьСекунды
  • ДлительностьМинуты
  • ДлительностьЧаса
  • ДлительностьДня

Функции значения типа Дата:

  • Год() - возвращает номер года
  • Месяц() - возвращает номер месяца
  • День() - возвращает день месяца
  • Неделя() - возвращает номер недели в году (по ISO) и год, к которому она относится. Конец декабря (три дня) попадает в следующий год, или первые три дня января попадают в предыдущий год.
  • ДеньНедели() - возвращает день недели, 1=понедельник, 7=воскресенье
  • Квартал() - номер квартала (1-4)
  • ДеньГода() - номер дня в году, 1-366
  • Час() - час
  • Минута() - минута
  • Секунда() - секунда
  • Миллисекунда() - миллисекунда
  • Микросекунда() - микросекунда
  • Наносекунда() - наносекунда
  • UnixNano() - число наносекунд для формата Unix Nano (не включает число секунд)
  • Unix() - число секунд для формата timestamp Unix
  • Формат(форматная строка) - форматирует дату и время в строку, на русском языке
д (d) - день месяца (цифрами) без лидирующего нуля;
дд (dd) - день месяца (цифрами) с лидирующим нулем;
ддд (ddd) - краткое название дня недели *);
дддд (dddd) - полное название дня недели *);
М (M) - номер месяца (цифрами) без лидирующего нуля;
ММ (MM) - номер месяца (цифрами) с лидирующим нулем;
МММ (MMM) - краткое название месяца *);
ММММ (MMMM) - полное название месяца *);
К (Q) - номер квартала в году;
г (y) - номер года без века и лидирующего нуля;
гг (yy) - номер года без века с лидирующим нулем;
гггг (yyyy) - номер года с веком;
ч (h) - час в 24 часовом варианте без лидирующих нулей;
чч (hh) - час в 24 часовом варианте с лидирующим нулем;
м (m) - минута без лидирующего нуля;
мм (mm) - минута с лидирующим нулем;
с (s) - секунда без лидирующего нуля;
сс (ss) - секунда с лидирующим нулем;
ссс (sss) - миллисекунда с лидирующим нулем
  • Вычесть(дата) - возвращает длительность
  • Добавить(длительность) - возвращает дату с добавленной длительностью (с учетом знака)
  • ДобавитьПериод(лет,месяцев,дней) - добавляет смещение к дате, в годах, месяцах, днях, с учетом знака в каждом параметре (+ смещает дату вперед, - смещает дату назад)
  • Раньше(дата) - возвращает Истина, если исходная дата раньше, чем параметр, с учетом разных локаций
  • Позже(дата) - возвращает Истина, если исходная дата позже, чем параметр, с учетом разных локаций
  • Равно(дата) - сравнивает даты, с учетом разных локаций (в отличие от =)
  • Пустая() - возвращает Истина, если дата пустая
  • Местное() - возвращает дату и время в местном часовом поясе сервера, на котором запущен Гонец
  • UTC() - возвращает дату и время в UTC
  • Локация() - возвращает строку с локацией даты и времени, например, "Europe/Moscow"
  • ВЛокации(локация) - возвращает Истина, если дата и время установлены в указанной локации

Даты можно сравнивать между собой на больше-меньше и равенство.

Прочие функции:

ПрошлоВремениС(дата) - возвращает длительность, прошедшую с указанной даты со временем

Пауза(длителньость) - делает паузу в размере длительности, либо на число секунд (с дробной частью, если есть), если в параметр передано число с плавающей запятой или целое число.