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

Типы

time

Тип time имеет следующие поля:
  • int Year - год
  • int Month - месяц
  • int Day - день месяца
  • int Hour - часы
  • int Minute - минуты
  • int Second - секунды
  • bool UTC - если равно true, то это UTC время, в противном случае, считается локальное время.

Операторы

Оператор
Результат
Описание
time == time
bool
Возвращается true, если два времени равны и false, в противном случае.
time > time
bool
Возвращается true, если первое время больше чем второе и false, в противном случае.
time < time
bool
Возвращается true, если первое время меньше чем второе и false, в противном случае.
time != time
bool
Возвращается true, если два времени не равны и false, в противном случае.
time >= time
bool
Возвращается true, если первое время больше или равно второму и false, в противном случае.
time <= time
bool
Возвращается true, если первое время меньше или равно второму и false, в противном случае.
time = time
time
Оператор присваивания.

Функции

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. Функция берет строку токенов и заменяет их соответствующими значениями.
Токен
Вывод
Год
YYYY
2019
YY
19
Месяц
MMMM
January
MMM
Jan
MM
01..12
M
1..12
День
DD
01..31
D
1..31
День недели
dddd
Monday
ddd
Mon
AM/PM
PM
AM PM
pm
am pm
Час
HH
00..23
hh
01..12
h
1..12
Минута
mm
00..59
m
1..59
Секунда
ss
00..59
s
1..59
Временная зона
tz
MST
zz
-0700 ... +0700
z
-07:00 ... +07:00

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 возвращает номер дня в году у указанного времени.
Copy link
Outline
Типы
time
Операторы
Функции
int(time t) int
time(int unixtime) time
AddHours(time t, int hours) time
Date(int year month day) time
DateTime(int year month day hour minute second) time
Days(time t) int
Format(str layout, time t) str
Now() time
ParseTime(str layout, str value) time
str(time t) str
UTC(time t) time
Weekday(time t) int
YearDay(time t) int