os.date()
- 原型:os.date ([format [, time]])
- 解释:返回一个按format格式化日期、时间的字串或表。
- 省略time会使用当前时间作为time
- 两个参数都省略则按当前系统的设置返回格式化的字符串,做以下等价替换 os.date() <=> os.date(“%c”)
- 如果format以 “!” 开头,则按格林尼治时间进行格式化。
- 如果format是一个 “t” **,将返一个带year(4位),month(1-12), day (1–31), hour (0-23), min (0-59),sec (0-61),wday (星期几, 星期天为1), yday (年内天数)和isdst (是否为日光节约时间true/false)的带键名的表.
- 如果format不是 “t” **,os.date会将日期格式化为一个字符串,具体如下:
格式符 | 含义 | 具体示例 |
---|---|---|
%a | 一星期中天数的简写 | os.date(“%a”) => Fri |
%A | 一星期中天数的全称 | (Wednesday) |
%b | 月份的简写 | (Sep) |
%B | 月份的全称 | (May) |
%c | 日期和时间 | (09/16/98 23:48:10) |
%d | 一个月中的第几天 | (28)[0 - 31] |
%H | 24小时制中的小时数 | (18)[00 - 23] |
%I | 12小时制中的小时数 | (10)[01 - 12] |
%j | 一年中的第几天 | (209) [01 - 366] |
%M | 分钟数 | (48)[00 - 59] |
%m | 月份数 | (09)[01 - 12] |
%P | 上午或下午 | (pm)[am - pm] |
%S | 一分钟之内秒数 | (10)[00 - 59] |
%w | 一星期中的第几天 | (3)[0 - 6 = 星期天 - 星期六] |
%W | 一年中的第几个星期 | (2)0 - 52 |
%x | 日期 | (09/16/98) |
%X | 时间 | (23:48:10) |
%y | 两位数的年份 | (16)[00 - 99] |
%Y | 完整的年份 | (2016) |
%% | 字符串’%’ | (%) |
*t | 返回一个table,里面包含全部的数据 | hour 14 |
- 例子:
prettyNow = os.date('%A, %B %d %Y at %I:%M:%S %p') => Saturday, January 09 2018 at 12:42:19 AM.
pretty911 = os.date('%A, %B %d %Y at %H:%M UTC', 1000215960) => Tuesday, September 11 2001 at 13:46 UTC.
prettyDerived911 = os.date('%A, %B %d %Y at %H:%M UTC', os.time({year=2001, month=9, day=11, hour=13, minute=46})) => Tuesday, September 11 2001 at 13:46 UTC.
os.date('*t') => Returns a {table} representing the current local date / time.
os.date('!*t') => Returns a {table} representing the current UTC date / time.
os.time()
-
原型
os.time ([table]) -
描述
在不带参数的情况下返回当前时间,或者返回表示给定表指定的日期和时间的时间。 此表必须有字段年、月和日,并且可能有字段小时、分钟、秒和 isdst
year (4 digit year)
month (month 0-12)
day (1-31)
hour (24-hour 0-23)
min (minute 0-59)
sec (second 0-59)
isdst (daylight saving time, boolean true or false)
- 例子
currentLocalTime = os.time(os.date('*t'))
currentUTCTime = os.time(os.date('!*t'))
inAnHour = os.time(os.date('*t')) + 3600
tomorrowSameTime = os.time(os.date('*t')) + 86400
secondsSince911=os.time(os.date('*!t')) - os.time({year=2001, month=9, day=11, hour=13, minute=46})
os.clock()
返回程序使用的 CPU 时间的近似值(以秒为单位),典型用途是基准测试
os.difftime()
-
原型
os.difftime (t2, t1) -
描述
计算以秒为单位的时间差
os.setlocale
-
原型
os.setlocale(locale [, category]) -
描述
设置程序的当前区域,函数返回设置以后该项最新的值,如果失败则返回nil。
-- 首先查询一下初始的区域设置
print(os.setlocale(nil))
-- 设置成中文简体区域
print(os.setlocale("chs"))
-- 现在只将数字部分设置成中文简体区域
print(os.setlocale("chs","numeric"))
-- 现在将时间部分设置成英文区域
print(os.setlocale("eng","time"))
socket.gettime
-
原型
socket.gettime() -
描述
返回以秒为单位的时间,相对于系统纪元(自 1970 年 1 月 1 日起的 Unix 纪元时间 (UTC) 或自 1601 年 1 月 1 日起的 Windows 文件时间 (UTC))。