日期时间,这是自动导入的内核类库,
字符串格式化支持从 1900 年 1 月 1 日 到 9999 年 12 月 31 日 的时间
可用 tonumber 转换为自 UTC 时间 1970 年 1 月 1 日 00:00:00 到 3000 年 12 月 31 日 23:59:59 间的秒数
需要更宽的运算范围请使用继承自 time 的 time.ole 类库。
创建时间对象,返回对象可传入其他线程使用,
时间对象可作为调用 tonumber 的参数转换为
自UTC时间1970年1月1日 00:00:00 到 3000年12月31日23:59:59 之间的秒数
也可以作为调用tostring函数的参数转换为字符串
获取当前时间。
不指定参数、或者格式化以前都是默认初始化为当前时间。
不指定参数@1 在 milliseconds 字段返回毫秒数,且 dayofyear 字段无效,
参数@1指定其他参数时 milliseconds 字段总是为 0
构造并返回时间对象。
参数 @1 可指定表示时间的数值、字符串或需要复制的 time、time.ole 对象。
也以在参数 @1 指定指定包含部分时间对象字段的参数表,不指定参数 @1 则初始化为当前时间。
可选用参数 @2 指定格式化串,首字符为 ! 表示 UTC 时间。
格式化串可用于自文本解析时间,也可将时间格式化为文本。
也可修改返回时间对象的 format 属性以单独变更输出格式。
省略格式串时则默认设为 %Y/%m/%d %H:%M:%S,可兼容解析 ISO8601 格式的时间。
参数@1 为文本时,则依据参数 @2 指定的格式化串解析时间。
自文本解析时间使用尽可能宽松的规则,格式串中非 % 前导的字符、分隔符都不要求精确匹配。
兼容宽松的无百分号风格格式化串(自动转为百分号格式),例如 "yyyy-mm-dd HH:MM:SS"。
如果输入文本中的时间数值超出日期范围,或者输入文本提前结束,都会返回 null 。
如果出现当月不存在的日期且小于 31 号时会顺推为下月时间。
可选用参数 @local 指定对象的 locale 属性,即格式化时间使用的区域语言。
locale 支持的区域语言 与 setlocale 函数相同,英文 "enu",中文 "chs"。
取当前时间并返回格式化后的字符串。
所有参数可选,参数用法请参考 time 构造函数与 time 库使用指南。
格式化串使用百分号风格,例如:"!%Y年%m月%d日 %H时%M分%S秒"。
兼容不带百分号风格的时间格式串,例如 "!yyyy-mm-dd HH:MM:SS"(Y D S 忽略大小写)。
locale 参数支持的区域语言 与 setlocale 函数相同,英文 "enu",中文 "chs"
格式化 timeObject 参数指定的 time 或 time.ole 对象,并返回字符串。
所有参数可选,参数用法请参考 time 构造函数与 time 库使用指南。
提供这个函数只是因为命名的原因比较好找到,改用 tostring 可支持以与这里相同的参数用法格式化时间,还可以少打几个字符。
也可以直接调用 timeObject.format 方法,作用相同。
返回 RFC1123 格式 GMT 时间,HTTP 协议使用该格式。
参数可以是数值,字符串,或其他time对象,用法参考time构造函数,
如果参数是使用本地时间的 time 对象,返回补偿时后的标准时间。
如果参数是字符串,可兼容解析 RFC 850,RFC1123 两种格式,
例如:"Sun, 07 Feb 2016 01:11:22 GMT",
字符串中如果使用数值格式指定了时区,将自动补偿时差转换为 GMT 时区
时区以正负号开始,支持省略冒号分隔符的1位,2位,3位,4位数字缩写
ISO8601 格式 UTC 标准时间。
时间格式串为!%Y-%m-%dT%H:%M:%SZ( RFC3339 格式 )。
参数 @1 可以是数值时间戳,字符串,或其他 time 对象,与 time 构造函数用法相同,
如果参数 @1 是使用本地时间的 time 对象,则返回补偿时差后的标准时间。
如果参数 @1 是字符串,兼容 ISO8601 省略分隔符的写法,可解析只有日期没有时间的字符串。
但字符串的日期部分必须包含年月日,时间部分必须包含时分秒。
字符串中如果使用数值格式指定了时区,将自动补偿时差转换为 UTC 时区
时区以正负号开始,支持省略冒号分隔符的1位,2位,3位,4位数字缩写
判断对象是否与 time 对象兼容的结构体。
传入 time,time.ole 对象会返回 true。
此函数仅检测结构体的类型声明不考虑对象的元表指向。
获取当前时间并返回 time 对象。
在 milliseconds 字段返回毫秒数,且 dayofyear 字段无效
取当前时间并返回 time 对象,等价于省略第一个参数调用 time 构造函数。
在 milliseconds 字段返回毫秒数,且 dayofyear 字段无效。
所有参数为可选参数。
可选用参数 @format 指定格式化串,首字符为 ! 表示 UTC 时间。
省略格式串时默认值为 %Y/%m/%d %H:%M:%S,可兼容解析 ISO8601 格式时间。
创建对象后可通过 format 属性单独修改输出时间格式。
可选用参数 @local 指定对象的 locale 属性,即格式化时间使用的区域语言。
locale 参数支持的区域语言 与 setlocale 函数相同,英文 "enu",中文 "chs"
取 Unix 时间戳。
时间戳 0 表示 ISO8601 时间 1970-01-01T00:00:00Z
所有参数可省略。
默认返回以毫秒为单位的时间戳数值,。
参数 @1 为 true 则返回文本,否则返回数值。
参数 @2 指定为 true 则返回值以秒为单位,否则以毫秒为单位。
获取系统启动时间,单位毫秒。
XP 系统每 49.7 天重置为 0,之后的系统无此限制。
高精度高性能计时请参考 time.performance.tick 函数。
返回 UTC 标准时间。
time.gmt,time.utc 返回相同的 UTC 时间,区别仅仅是默认格式化串不同。
参数可以是数值,字符串,或其他time对象,用法参考 time 构造函数,
如果参数是使用本地时间的 time 对象,返回补偿时后的标准时间。
格式化串默认指定为 "!%Y/%m/%d %H:%M:%S"
如果参数是字符串,解析失败则尝试修改格式化串为 "!%Y/%m/%d" 解析。
可兼容解析 ISO8601 格式(可省略分隔符)。
class datetime{
WORD year; //年
WORD month; //月
WORD dayofweek; //星期
WORD day; //日期
WORD hour; //小时
WORD minute; //分钟
WORD second; //秒
WORD milliseconds; //这个字段正常情况下为0,只有在WINAPI函数中会起作用
format; //时间格式字符串
isdst //是否夏令时
}
增加天数,可以为负数,返回自身
增加小时数,可以为负数,返回自身
增加分钟数,可以为负数,返回自身
增加月份数,返回自身
增加秒数,可以为负数,返回自身
增加年份,返回自身
日
星期
星期一到星期六的值对应数值为1到6,星期日的值为 0,
注意修改这个字段不会更新时间值,
这个字段只有参与数值运算或调用 add*** 函数才会填充或更新,
例如调用 addday(0) 会更新此字段
所在年份的天数,
注意修改这个字段不会更新时间值。
无参数调用 time 或 time.now 函数此字段无效。
这个字段只有参与数值运算或调用 add*** 函数才会填充或更新,
例如调用addsecond(0)会更新此字段,
使用格式化标记%j %U %W前必须首先刷新此字段
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差天数,此函数返回整数
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差小时数,此函数返回整数
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差分钟数,此函数返回整数
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差月份,此函数返回整数
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差秒数,此函数返回整数
用当前 time 对象减参数指定的 time 对象,
计算两个 time 对象相差年份,相差不是整数年份时此函数会返回小数。
文本解析为时间后,
最后一个格式化标记解析成功并跳过空白字符以后的剩余字符串。
作为属性可读写默认格式化串,首字符为!表示 UTC 时间。
例如:"!%Y年%m月%d日 %H时%M分%S秒"。
兼容不带百分号风格的时间格式串,例如 "!yyyy-mm-dd HH:MM:SS"(Y D S 忽略大小写)。
关于格式化串详细说明请查看 time 库文档。
参数 @2 setlocale 函数支持相同的区域语言代码,例如:英文"enu",中文"chs"
作为方法调用( owner.call 方式 )时可格式化时间并返回字符串。
所有参数可选,格式化串兼容百分号与无百分号风格,示例:
"%Y年%m月%d日 %H时%M分%S秒" 或 "yyyy-mm-dd HH:MM:SS" 。
关于格式化串详细说明请查看 time 库使用指南。
自参数 @1 指定的 ::FILETIME 结构体获取时间,返回自身。
参数 @1 也可以指定 fsys.time 对象。
返回自UTC时间 1970年1月1日 00:00:00 开始的毫秒数
最大值为UTC时间3000年12月31日23:59:59
小时
将 UTC 时间转换为本地时间,修改并返回对象自身。
如果已经是本地时间则直接返回对象自身。
对象的格式化串(format 属性)首字符为!表示 UTC 时间。
将 UTC 时间转换为本地时间。
参数为 true 则不修改自身而是返回新对象。
如果已经是本地时间则直接复制并返回复制的新对象。
格式化时间使用的语言代码
参数与setlocale相同,英文"enu",中文"chs",
该属性为空表示使用当前默认语言
毫秒。
构造 time 对象不指定参数 @1 或用 time.now 取当前时间,则设置此字段为当前毫秒数,否则此字段无效
分钟
月
秒
参数为数值
设置自UTC时间 1970年1月1日 00:00:00 开始的毫秒数
最大值为UTC时间3000年12月31日23:59:59
此函数返回时间对象自身
转换并返回 ::FILETIME 结构体
重新计算时间并更新dayOfWeek字段.
将本地时间转换为 UTC 时间,修改并返回对象自身。
如果已经是 UTC 时间直接返回。
对象的格式化串(format 属性)首字符为!表示UTF时间。
将本地时间转换为 UTC 时间。
参数为 true 则不修改自身而是返回新对象。
如果已经是 UTC 时间则复制并返回复制的新对象。
年