Lua学习笔记——时间和日期
思维导图
首先我们看一张思维导图:
备注:
1. 纪元:一个固定日期,在 POSIX 和 Windows 平台中这个固定日期是 Jan 01, 1970, 00:00 UTC。
2. 日期表:在 lua 中表示时间的一种方式,这个表具有以下几个重要字段:year、month、day、hour、 min、sec、wday、yday、isdst。
wday:本周中的第几天(第一天是星期日)
yday:当年中的第几天
isdst:布尔类型。如果使用夏令时则为真。
例如:Sep 16,1998,23:48:10 用日期表的格式表示为:
{year=1998, month=9, day=16, yday=259, wday=4, hour=23, min=48, sec=10, isdst=false}
日期表中各个参数的范围如下:(秒的最大范围是60,允许闰秒的存在。)
字段 | 范围 |
---|---|
year | 一整年 |
month | 1~12 |
day | 1~31 |
hour | 0~23 |
min | 0~59 |
sec | 0~60 |
wday | 1~7 |
yday | 1~366 |
3. os.clock():在性能测试中,可用来记录程序的运行时间。如下:
1 | local x = os.clock() |
实际使用
1. 获取当前时间的整数表达
1 | -- 当前时间为 2019-10-8 19:00:00 |
2. 获取当前时间的格式化表示
1 | -- 当前时间为 2019-10-8 19:00:00 |
3. 获取指定天数之后的日期
下面我们先看一个计算当前天数 40 天之后的日期的例子:
1 | -- 当前时间为 2019-10-8 19:00:00 |
在上面的例子中,我们看到,在加完天数之后,我们先将我们的日期表使用 os.time() 转换成整数,然后再用 os.date() 就可以做到日期的归一化显示。