Lua教程(十六):系统库(os库)
lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和os相关的库。但是lua还提供了一些扩展库,比如posix库等。对于文件操作而言,该库仅提供了os.rename函数和os.remove函数。
1. 日期和时间:
在lua中,函数time和date提供了所有的日期和时间功能。
如果不带任何参数调用time函数,它将以数字形式返回当前的日期和时间。如果以一个table作为参数,它将返回一个数字,表示该table中所描述的日期和时间。该table的有效字段如下:
print(os.time{year = 1970, month = 1, day = 1, hour = 8, min = 0}) --北京是东八区,所以hour等于时表示utc的0。
print(os.time()) --输出当前时间距离1970-1-1 00:00:00所经过的秒数。输出值为 1333594721
函数date是time的反函数,即可以将time返回的数字值转换为更高级的可读格式,其第一个参数是格式化字符串,表示期望的日期返回格式,第二个参数是日期和时间的数字,缺省为当前日期和时间。如:
dd = os.date("*t",os.time()) --如果格式化字符串为"*t",函数将返回table形式的日期对象。如果为"!*t",则表示为utc时间格式。
print("year = " .. dd.year)
print("month = " .. dd.month)
print("day = " .. dd.day)
print("weekday = " .. dd.wday) --一个星期中的第几天,周日是第一天
print("yearday = " .. dd.yday) --一年中的第几天,1月1日是第一天
print("hour = " .. dd.hour)
print("min = " .. dd.min)
print("sec = " .. dd.sec)
--[[
year = 2012
month = 4
day = 5
weekday = 5
yearday = 96
hour = 11
min = 13
sec = 44
--]]
date函数的格式化标识和c运行时库中的strftime函数的标识完全相同,见下表:
print(os.date("%y-%m-%d")) --输出2012-04-05
函数os.clock()返回cpu时间的描述,通常用于计算一段代码的执行效率。如:
local x = os.clock()
local s = 0
for i = 1, 10000000 do
s = s + i
end
print(string.format("elapsed time: %.2f\n", os.clock() - x))
--输出结果为:
--elapsed time: 0.21
2. 其他系统调用:
函数os.exit()可中止当前程序的执行。函数os.getenv()可获取一个环境变量的值。如:
print(os.getenv("path")) --如果环境变量不存在,返回nil。
os.execute函数用于执行和操作系统相关的命令,如:
os.execute("mkdir " .. "hello")
上一篇: lua中赋值类型代码详解
下一篇: Lua基本语法
推荐阅读
-
win7系统怎么修改库图标?win7系统修改库图标的方法图文教程
-
Python_WIN10系统中递归所有文件夹所有文件_移动所有文件到主目录(使用到的库:os + glob + shutil)
-
在Mac OS系统上安装Python的Pillow库的教程
-
win2003服务器安全设置教程图文(系统+数据库)
-
Windows系统安装Oracle 11g 数据库图文教程
-
Oracle11g数据库win8.1系统安装配置图文教程
-
在Debian 9系统上安装Mysql数据库的方法教程
-
Linux系统下安装MySQL数据库教程
-
XLua官方教程 06 XLua增加删除第三方lua库
-
Elyse如何激活?数据库文件管理系统Elyse安装及激活图文教程(附软件下载+激活补丁)