Время

Здесь описаны операторы и функции для работы с датами и временем (тип time).

Типы

time

Тип time имеет следующие поля:

  • int Year - год

  • int Month - месяц

  • int Day - день месяца

  • int Hour - часы

  • int Minute - минуты

  • int Second - секунды

  • bool UTC - если равно true, то это UTC время, в противном случае, считается локальное время.

Операторы

Функции

int(time t) int

Функция int конвертирует значение time в Unix время, количество секунд с 1 января 1970 UTC и возвращает его.

time(int unixtime) time

Функция time конвертирует данное Unix время unixtime, количество секунд с 1 января 1970 UTC в структуру time и возвращает её.

AddHours(time t, int hours) time

Функция AddHours возвращает новое время, соответствующее указанному, с добавлением hours часов. Параметр hours может быть отрицательным.

Date(int year month day) time

Функция Date возвращает структуру типа time c указанной датой.

DateTime(int year month day hour minute second) time

Функция DateTime возвращает структуру типа time c указанным локальным временем. Также, вы можете инициализировать переменную времени подобным образом

time t = {Year: 2018, Month: 12, Day: 12}

Days(time t) int

Функция Days возвращает количество дней в месяце, в котором находится указанное время.

Format(str layout, time t) str

Функция Format возвращает текстовое представление времени в соответствии со строкой layout. Функция берет строку токенов и заменяет их соответствующими значениями.

Now() time

Функция Now возвращает текущее локальное время.

ParseTime(str layout, str value) time

Функция ParseTime разбирает отформатированную строку и возвращает соответствующее время. Список токенов такой же как в функции Format.

run str {
  time t &= ParseTime(`MMM D, YYYY at h:mmpm (zz)`, `Jun 7, 2019 at 6:05am (+0300)`)
  time t1 &= ParseTime(`YY/MM/DD HH:mm:s`, `19/05/29 03:21:3`)
  return Format(`YY/MM/DD HH:mm:ss zz`, UTC(t)) + Format(` YY/MM/DD HH:mm:ss`, UTC(t1))
}
// 19/06/07 03:05:00 +0000 19/05/29 03:21:03

str(time t) str

Функция str конвертирует указанное время в строку формата YYYY-MM-DD HH:mm:ss.

UTC(time t) time

Функция UTC конвертирует локальное время в UTC и возвращает новую структуру. Если время t уже было UTC, то возвращается его копия.

Weekday(time t) int

Функция Weekday возвращает номер дня недели. 0 - воскресенье, 1 - понедельник и т.д.

YearDay(time t) int

Функция YearDay возвращает номер дня в году у указанного времени.

Last updated