Time

继承: Object

用于处理时间数据的单例。

描述

时间单例允许在各种格式之间转换时间,也可以从系统中获取时间信息。

该类符合尽可能多的ISO 8601标准。所有日期都遵循普罗普特公历。因此,1582-10-15的前一天是1582-10-14,而不是1582-10-04。公元1年前(又名公元前1年)是数字0,前一年(公元前2年)是-1,等等。

转换方法假定“相同的时区”,并且不会自动处理时区转换或DST。Leap秒也不会处理,如果需要,它们必须手动完成。后缀如“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月份,数字表示为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 🔗

以键字典的形式返回当前日期:工作日

utcfalse时,返回值在系统的本地时间,否则它们在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日期字符串(YYYY-MM-DD)的形式返回当前日期。

utcfalse时,返回值在系统的本地时间,否则它们在UTC。


String get_date_string_from_unix_time(unix_time_val: int) const 🔗

将给定的Unix时间戳转换为ISO 8601日期字符串(YYYY-MM-DD)。


Dictionary get_datetime_dict_from_datetime_string(datetime: String, weekday: bool) const 🔗

将给定的ISO 8601日期和时间字符串(YYYY-MM-DDTHH: MM:SS)转换为键字典:工作日小时分钟

如果weekdayfalse,则排除平日条目(计算相对昂贵)。

注意:时间字符串中的任何小数都将被静默忽略。


Dictionary get_datetime_dict_from_system(utc: bool = false) const 🔗

返回当前日期作为键的字典:工作日小时分钟dst(夏令时)。


Dictionary get_datetime_dict_from_unix_time(unix_time_val: int) const 🔗

将给定的Unix时间戳转换为键字典:工作日小时分钟

如果Unix时间戳是当前时间,则返回的字典值将与get_datetime_dict_from_system()相同,夏令时除外,因为它无法从纪元中确定。


String get_datetime_string_from_datetime_dict(datetime: Dictionary, use_space: bool) const 🔗

将给定的键字典转换为ISO 8601日期和时间字符串(YYYY-MM-DDTHH: MM:SS)。

给定的字典可以填充以下键:小时分钟。任何其他条目(包括dst)都将被忽略。

如果字典为空,则返回0。如果省略某些键,则默认为Unix纪元时间戳0的等效值(1970-01-01在00:00:00)。

如果use_spacetrue,则日期和时间位由空格字符分隔,而不是字母T。


String get_datetime_string_from_system(utc: bool = false, use_space: bool = false) const 🔗

以ISO 8601日期和时间字符串(YYYY-MM-DDTHH: MM:SS)的形式返回当前日期和时间。

utcfalse时,返回值在系统的本地时间,否则它们在UTC。

如果use_spacetrue,则日期和时间位由空格字符分隔,而不是字母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_spacetrue,则日期和时间位由空格字符分隔,而不是字母T。


String get_offset_string_from_offset_minutes(offset_minutes: int) const 🔗

将给定的时区偏移(以分钟为单位)转换为时区偏移字符串。例如,-480返回“-08:00”,345返回“+05:45”,0返回“+00:00”。


int get_ticks_msec() const 🔗

返回自引擎启动以来经过的时间量(以毫秒为单位)。

将始终为正或0,并使用64位值(大约5亿后包装)。


int get_ticks_usec() const 🔗

返回自引擎启动以来经过的时间量(以微秒为单位)。

将始终为正或0并使用64位值(大约50万年后包装)。


Dictionary get_time_dict_from_system(utc: bool = false) const 🔗

以键字典的形式返回当前时间:小时分钟

utcfalse时,返回值在系统的本地时间,否则它们在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时间字符串(HH: MM:SS)的形式返回当前时间。

utcfalse时,返回值在系统的本地时间,否则它们在UTC。


String get_time_string_from_unix_time(unix_time_val: int) const 🔗

将给定的Unix时间戳转换为ISO 8601时间字符串(HH: MM:SS)。


Dictionary get_time_zone_from_system() const 🔗

将当前时区作为键字典返回:偏差名称

-偏差是以分钟为单位的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。此方法不进行任何时区转换,因此时间戳将与给定的日期时间字典位于同一时区。


int get_unix_time_from_datetime_string(datetime: String) const 🔗

将给定的ISO 8601日期和/或时间字符串转换为Unix时间戳。该字符串可以仅包含日期、时间或两者兼而有之。

注意:Unix时间戳通常为UTC。此方法不进行任何时区转换,因此时间戳将与给定的日期时间字符串位于同一时区。

注意:时间字符串中的任何小数都将被静默忽略。


float get_unix_time_from_system() const 🔗

根据UTC中的系统时间以秒为单位返回当前Unix时间戳。此方法由操作系统实现,始终返回UTC中的时间。Unix时间戳是自1970-01-0100:00:00以来通过的秒数,即Unix纪元

注意:与其他使用整数时间戳的方法不同,此方法将时间戳作为float返回以获得亚秒精度。