Lua标准库中提供了关于时间函数os.time()和os.date(), 不同的是这两个函数引入时区的设置
os.time()
1. 不带任何参数, 返回的是当前系统时间转化为秒数的结果
返回的秒数是根据当前时间的距离1970.1.1.08:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值.
代码语言:javascript复制// 当前系统时间 2018年5月12日19:15
time = os.time()
print(time) // 1526123720 / 60 / 60 / 24 / 365 = 48 year (大概时间)
os.date()
- 不带任何参数, 返回包含日期和时间的字符串
date = os.date()
print(date) //Sat May 12 19:24:14 2018
- 如果格式以
!
开始, 则返回格林威治时间 (GMT), 如果格式字符串为*t
,则返回以下结构的表
year (four digits), month (1–12), day (1–31), hour (0–23), min (0–59), sec (0–61), wday (weekday, Sunday is 1), yday (day of the year), and isdst (daylight saving flag, a boolean).
代码语言:javascript复制local d = os.date("!*t")
for i, v in pairs(d) do
print(i,v)
end
-----
hour 11
min 30
wday 7
day 12
month 5
year 2018
sec 54
yday 132
isdst false
---
参考
- Lua 5.2 官方文档
- lua 时间函数os.time()和os.date()
- lua Date和Time
- 格林威治时间 (GMT)