Links

Время

Здесь описаны операторы и функции для работы с датами и временем (тип 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 возвращает номер дня в году у указанного времени.