Time
Наследует: Object
Синглтон для работы с данными о времени.
Описание
Синглтон Time позволяет преобразовывать время между различными форматами, а также получать информацию о времени из системы.
Этот класс соответствует максимально возможному количеству стандартов ISO 8601. Все даты следуют пролептическому григорианскому календарю. Таким образом, день до 1582-10-15 — это 1582-10-14, а не 1582-10-04. Год до 1 г. н. э. (он же 1 г. до н. э.) имеет номер 0, а год до этого (2 г. до н. э.) — это -1 и т. д.
Методы преобразования предполагают "один и тот же часовой пояс" и не обрабатывают преобразования часовых поясов или летнее время автоматически. Високосные секунды также не обрабатываются, их необходимо сделать вручную, если это необходимо. Суффиксы, такие как "Z", не обрабатываются, их необходимо удалить вручную.
При получении информации о времени из системы время может быть либо в локальном часовом поясе, либо в формате UTC в зависимости от параметра utc. Однако метод get_unix_time_from_system() всегда использует UTC, поскольку возвращает количество секунд, прошедших с эпохи Unix.
Важно: Методы _from_system используют системные часы, которые пользователь может установить вручную. Никогда не используйте этот метод для точного расчета времени, поскольку его результаты могут быть автоматически скорректированы пользователем или операционной системой. Всегда используйте get_ticks_usec() или get_ticks_msec() для точного расчета времени, поскольку они гарантированно будут монотонными (т. е. никогда не уменьшатся).
Методы
Перечисления
enum Month: 🔗
Month MONTH_JANUARY = 1
Месяц январь, представленный в числовом виде как 01.
Month MONTH_FEBRUARY = 2
Месяц февраль, представленный численно как 02.
Month MONTH_MARCH = 3
Март месяц, представленный численно как 03.
Month MONTH_APRIL = 4
Месяц апрель, представленный численно как 04.
Month MONTH_MAY = 5
Месяц май, представленный численно как 05.
Month MONTH_JUNE = 6
Июнь, числовой формат которого представлен как 06.
Month MONTH_JULY = 7
Июль месяц, представленный численно как 07.
Month MONTH_AUGUST = 8
Август месяц, представленный численно как 08.
Month MONTH_SEPTEMBER = 9
Сентябрь, представленный численно как 09.
Month MONTH_OCTOBER = 10
Месяц октябрь, представленный численно как 10.
Month MONTH_NOVEMBER = 11
Месяц ноябрь, представленный численно как 11.
Month MONTH_DECEMBER = 12
Декабрь, представленный численно как 12.
enum Weekday: 🔗
Weekday WEEKDAY_SUNDAY = 0
День недели воскресенье, представленный численно как 0.
Weekday WEEKDAY_MONDAY = 1
День недели понедельник, представленный в числовом виде как 1.
Weekday WEEKDAY_TUESDAY = 2
День недели вторник, представленный в числовом виде как 2.
Weekday WEEKDAY_WEDNESDAY = 3
День недели среда, представленный в числовом виде как 3.
Weekday WEEKDAY_THURSDAY = 4
День недели четверг, представленный в числовом виде как 4.
Weekday WEEKDAY_FRIDAY = 5
День недели пятница, представленный в числовом виде как 5.
Weekday WEEKDAY_SATURDAY = 6
День недели суббота, представленный в числовом виде как 6.
Описания метода
Dictionary get_date_dict_from_system(utc: bool = false) const 🔗
Возвращает текущую дату в виде словаря ключей: год, месяц, день и день недели.
Возвращаемые значения указаны в локальном времени системы, если utc равен false, в противном случае они указаны в формате UTC.
Dictionary get_date_dict_from_unix_time(unix_time_val: int) const 🔗
Преобразует заданную временную метку Unix в словарь ключей: год, месяц, день и день недели.
String get_date_string_from_system(utc: bool = false) const 🔗
Возвращает текущую дату в виде строки даты ISO 8601 (ГГГГ-ММ-ДД).
Возвращаемые значения указаны в локальном времени системы, если utc равен false, в противном случае они указаны в формате UTC.
String get_date_string_from_unix_time(unix_time_val: int) const 🔗
Преобразует заданную временную метку Unix в строку даты ISO 8601 (ГГГГ-ММ-ДД).
Dictionary get_datetime_dict_from_datetime_string(datetime: String, weekday: bool) const 🔗
Преобразует заданную строку даты и времени ISO 8601 (YYYY-MM-DDTHH:MM:SS) в словарь ключей: год, месяц, день, день недели, час, минута и секунда.
Если weekday равен false, то запись день недели исключается (вычисление относительно затратно).
Примечание: Любая десятичная дробь в строке времени будет игнорироваться без уведомления.
Dictionary get_datetime_dict_from_system(utc: bool = false) const 🔗
Возвращает текущую дату в виде словаря ключей: год, месяц, день, день недели, час, минута, секунда и dst (летнее время).
Dictionary get_datetime_dict_from_unix_time(unix_time_val: int) const 🔗
Преобразует заданную временную метку Unix в словарь ключей: год, месяц, день, день недели, час, минута и секунда.
Возвращаемые значения словаря будут такими же, как у get_datetime_dict_from_system(), если временная метка Unix является текущим временем, за исключением летнего времени, поскольку его невозможно определить из эпохи.
String get_datetime_string_from_datetime_dict(datetime: Dictionary, use_space: bool) const 🔗
Преобразует указанный словарь ключей в строку даты и времени ISO 8601 (YYYY-MM-DDTHH:MM:SS).
Указанный словарь может быть заполнен следующими ключами: year, month, day, hour, minute и second. Любые другие записи (включая dst) игнорируются.
Если словарь пуст, возвращается 0. Если некоторые ключи пропущены, они по умолчанию принимают эквивалентные значения для временной метки эпохи Unix 0 (1970-01-01 в 00:00:00).
Если use_space равен true, биты даты и времени разделяются пробелом вместо буквы T.
String get_datetime_string_from_system(utc: bool = false, use_space: bool = false) const 🔗
Возвращает текущую дату и время в виде строки даты и времени ISO 8601 (YYYY-MM-DDTHH:MM:SS).
Возвращаемые значения указаны в локальном времени системы, если utc равен false, в противном случае они указаны в формате UTC.
Если use_space равен true, биты даты и времени разделяются символом пробела вместо буквы T.
String get_datetime_string_from_unix_time(unix_time_val: int, use_space: bool = false) const 🔗
Преобразует заданную временную метку Unix в строку даты и времени ISO 8601 (YYYY-MM-DDTHH:MM:SS).
Если use_space равен true, биты даты и времени разделяются символом пустого пространства вместо буквы T.
String get_offset_string_from_offset_minutes(offset_minutes: int) const 🔗
Преобразует заданное смещение часового пояса в минутах в строку смещения часового пояса. Например, -480 возвращает "-08:00", 345 возвращает "+05:45", а 0 возвращает "+00:00".
Возвращает количество времени, прошедшего в миллисекундах с момента запуска двигателя.
Всегда будет положительным или 0 и использует 64-битное значение (оно будет перенесено примерно через 500 миллионов лет).
Возвращает количество времени, прошедшего в микросекундах с момента запуска двигателя.
Всегда будет положительным или 0 и использует 64-битное значение (оно будет перезаписано примерно через полмиллиона лет).
Dictionary get_time_dict_from_system(utc: bool = false) const 🔗
Возвращает текущее время в виде словаря ключей: час, минута и секунда.
Возвращаемые значения указаны в локальном времени системы, если utc равен false, в противном случае они указаны в формате UTC.
Dictionary get_time_dict_from_unix_time(unix_time_val: int) const 🔗
Преобразует заданное время в словарь ключей: час, минута и секунда.
String get_time_string_from_system(utc: bool = false) const 🔗
Возвращает текущее время в виде строки времени ISO 8601 (ЧЧ:ММ:СС).
Возвращаемые значения указаны в локальном времени системы, если utc равен false, в противном случае они указаны в формате UTC.
String get_time_string_from_unix_time(unix_time_val: int) const 🔗
Преобразует заданную временную метку Unix в строку времени ISO 8601 (ЧЧ:ММ:СС).
Dictionary get_time_zone_from_system() const 🔗
Возвращает текущий часовой пояс в виде словаря ключей: bias и name.
bias- это смещение относительно UTC в минутах, поскольку не все часовые пояса кратны часу от UTC.name- это локализованное название часового пояса в соответствии с настройками локали ОС текущего пользователя.
int get_unix_time_from_datetime_dict(datetime: Dictionary) const 🔗
Преобразует словарь значений времени в метку времени Unix.
Данный словарь может быть заполнен следующими ключами: год, месяц, день, час, минута и секунда. Любые другие записи (включая dst) игнорируются.
Если словарь пуст, возвращается 0. Если некоторые ключи пропущены, они по умолчанию принимают эквивалентные значения для метки времени эпохи Unix 0 (1970-01-01 в 00:00:00).
Вы можете передать вывод из get_datetime_dict_from_unix_time() непосредственно в эту функцию и получить то же самое, что было введено.
Примечание: Метки времени Unix часто указываются в формате UTC. Этот метод не выполняет преобразование часового пояса, поэтому временная метка будет находиться в том же часовом поясе, что и указанный словарь datetime.
int get_unix_time_from_datetime_string(datetime: String) const 🔗
Преобразует заданную строку даты и/или времени ISO 8601 в метку времени Unix. Строка может содержать только дату, только время или и то, и другое.
Примечание: Метки времени Unix часто указываются в формате UTC. Этот метод не выполняет преобразование часового пояса, поэтому метка времени будет находиться в том же часовом поясе, что и заданная строка даты и времени.
Примечание: Любая десятичная дробь в строке времени будет игнорироваться без уведомления.
float get_unix_time_from_system() const 🔗
Возвращает текущую временную метку Unix в секундах на основе системного времени в формате UTC. Этот метод реализуется операционной системой и всегда возвращает время в формате UTC. Временная метка Unix — это количество секунд, прошедших с 1970-01-01 в 00:00:00, эпохи Unix.
Примечание: В отличие от других методов, использующих целочисленные временные метки, этот метод возвращает временную метку как float (число с плавающей точкой) для точности до доли секунды.