Время
Здесь описаны операторы и функции для работы с датами и временем (тип 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 в Unix время, количество секунд с 1 января 1970 UTC и возвращает его.
Функция time конвертирует данное Unix время unixtime, количество секунд с 1 января 1970 UTC в структуру time и возвращает её.
Функция AddHours возвращает новое время, соответствующее указанному, с добавлением hours часов. Параметр hours может быть отрицательным.
Функция Date возвращает структуру типа time c указанной датой.
Функция DateTime возвращает структуру типа time c указанным локальным временем. Также, вы можете инициализировать переменную времени подобным образом
time t = {Year: 2018, Month: 12, Day: 12}
Функция Days возвращает количество дней в месяце, в котором находится указанное время.
Функция 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 возвра щает текущее локальное время.
Функция 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 конвертирует указанное время в строку формата YYYY-MM-DD HH:mm:ss.
Функция UTC конвертирует локальное время в UTC и возвращает новую структуру. Если время t уже было UTC, то возвращается его копия.
Функция Weekday возвращает номер дня недели. 0 - воскресенье, 1 - понедельник и т.д.
Функция YearDay возвращает номер дня в году у указанного времени.
Last modified 2yr ago