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 🔗
以键字典的形式返回当前日期:年、月、日和工作日。
当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日期字符串(YYYY-MM-DD)的形式返回当前日期。
当utc为false时,返回值在系统的本地时间,否则它们在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)转换为键字典:年、月、天、工作日、小时、分钟和秒。
如果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时间戳转换为键字典:年、月、日、工作日、小时、分钟和秒。
如果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_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位值(大约5亿后包装)。
返回自引擎启动以来经过的时间量(以微秒为单位)。
将始终为正或0并使用64位值(大约50万年后包装)。
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时间字符串(HH: MM:SS)的形式返回当前时间。
当utc为false时,返回值在系统的本地时间,否则它们在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返回以获得亚秒精度。