os:
os.clock
os.date
os.difftime
os.execute
os.exit
os.getenv
os.remove
os.rename
os.setlocale
os.time
os.tmpname
os.clock:
返回一个程序使用CPU时间的一个近似值
#!/usr/local/bin/lua
local x = os.clock()
print(x)
local n = 0
for i=1, 10000000 do
n = n+1
end
print("cpu clock is %.6f\n", os.clock())
os.date ([format [, time]])
功能:返回一个按format格式化日期、时间的字串或表
若设置time参数,则按time指定的时间格式化,否则按当前时间格式化
参数:
format:
“!”:按格林尼治时间进行格式化。
“*t”:将返一个带year(4位),month(1-12), day (1–31), hour (0-23), min (0-59), sec (0-61), wday (星期几, 星期天为1), yday (年内天数), and isdst (是否为日光节约时间true/false)的带键名的表; 若没有”*t”则返回一个按C的strftime函数格式化的字符串
若不带参数,则按当前系统的设置返回格式化的字符串 os.date() <=> os.date(“%c”)
%a 一星期中天数的简写 (Wed)
%A 一星期中天数的全称 (Wednesday)
%b 月份的简写 (Sep)
%B 月份的全称 (September)
%c 日期和时间 (09/16/98 23:48:10)
%d 一个月中的第几天 (16)[0 ~ 31]
%H 24小时制中的小时数 (23)[00 ~ 23]
%I 12小时制中的小时数 (11)[01 ~ 12]
%j 一年中的第几天 (259)[01 ~ 366]
%M 分钟数 (48)[00 ~ 59]
%m 月份数 (09)[01 ~ 12]
%P “上午(am)” 或 “下午(pm)” (pm)
%S 秒数 (10)[00 ~ 59]
%w 一星期中的第几天 (3)[0 ~ 6 = 星期天 ~ 星期六]
%W 一年中的第几个星期 0 ~ 52
%x 日期 (09/16/98)
%X 时间 (23:48:10)
%y 两位数的年份 (90)[00 ~ 99]
%Y 完整的年份 (2009)
%% 字符串’%’
#!/usr/local/bin/lua
print(os.date()) --Tue May 22 19:23:18 2018
t = os.date("*t", os.time())
for k , v in pairs(t) do --不能使用ipairs(t)
print( k , v )
end
Tue May 22 19:23:18 2018
year 2018
month 5
sec 18
yday 142
min 23
hour 19
isdst false
day 22
wday 3
os.difftime (t2, t1)
功能:返回t1到t2相差的秒数
t1 = os.time()
for i=1 , 1000000000 do
n = n+1
end
t2 = os.time()
print("t1 diff t2 ", os.difftime(t1, t2))
os.execute ([command])
功能:相当于C的system函数,返回系统状态码
print(os.execute(“/bin/ls”))
print(os.execute(“/usr/bin/top”))
os.exit ([code])
功能:相当于C的exit函数,终止主程序,code为返回值
code 为返回值 os.exit(1)
os.getenv (varname)
功能:返回当前进程的环境变量varname的值,若变量没有定义时返回nil
print(os.getenv(“HOME_PATH”))
os.remove (filename)
功能:删除文件或一个空目录,若函数调用失败则返回nil加错误信息
os.rename (oldname, newname)
功能:更改一个文件或目录名,若函数调用失败则返加nil加错误信息
os.setlocale (locale [, category])
功能:设置程序的当前设置,函数返回最新的值,失败则返回nil
原型:os.setlocale (locale [, category])
解释:设置程序的当前区域,函数返回设置以后该项最新的值,如果失败则返回nil。
参数:两个参数均可省略,但具体含义不同。
locale:表示一个指定当前设置区域的字串,有几种特殊形式如下
“”:一个空字串,当前设置被视为本地设置
“C”:当前设置被视为标准C设置
nil:返回category指示设置名的当前值
category:一个描述要更改的设置名,实际上就是制定一个分类的名字,分类如下
all:默认选项,包含下述所用分类。
collate :影响C语言函数strcoll和strxfrm
ctype:影响字符处理函数和多行字符处理函数
monetary:影响C语言函数localeconv返回的货币格式化信息
numeric:影响格式化输入输出字符中的小数点符号
time:影响C语言函数strftime
print(os.setlocale(nil))
print(os.setlocale("eng"))
os.time ([table])
功能:按table的内容返回一个时间值(数字),若不带参数则返回当前时间table的字段:
year, month, day, hour, min, sec, isdst
print(os.time()); -->1526989157
print(os.time({year=1999, month=1, day=10, hour=11})); -->915937200
os.tmpname()
功能:返回一个临时文件名,io操作之后需要删掉。
local tmp = os.tmpname() --创建tmpfile
print(tmp)
--tmp = "."..tmp
print(tmp)
local myfile = io.open(tmp, "w") --打开tmpfile
print(myfile)
myfile:write("hello tmp file.") --写入
myfile:close() --关闭tmpfile
local ff = io.open(tmp, "r")
print(ff)
local ret = ff:read("*all") --读取
print(ret)
ff:close()
print(os.remove(tmp)) --删除tmpfile