源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Lua教程(十六):系统库(os库)

  • 时间:2021-01-28 21:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Lua教程(十六):系统库(os库)
Lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和OS相关的库。但是Lua还提供了一些扩展库,比如Posix库等。对于文件操作而言,该库仅提供了os.rename函数和os.remove函数。 [b]1. 日期和时间:[/b] 在Lua中,函数time和date提供了所有的日期和时间功能。 如果不带任何参数调用time函数,它将以数字形式返回当前的日期和时间。如果以一个table作为参数,它将返回一个数字,表示该table中所描述的日期和时间。该table的有效字段如下: [img]http://files.jb51.net/file_images/article/201504/201543094113083.png?201533094125[/img] 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返回的数字值转换为更高级的可读格式,其第一个参数是格式化字符串,表示期望的日期返回格式,第二个参数是日期和时间的数字,缺省为当前日期和时间。如:
[u]复制代码[/u] 代码如下:
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函数的标识完全相同,见下表: [img]http://files.jb51.net/file_images/article/201504/201543094143196.png?201533094151[/img]
[u]复制代码[/u] 代码如下:
print(os.date("%Y-%m-%d"))  --输出2012-04-05
    函数os.clock()返回CPU时间的描述,通常用于计算一段代码的执行效率。如:
[u]复制代码[/u] 代码如下:
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
[b]2. 其他系统调用:[/b]     函数os.exit()可中止当前程序的执行。函数os.getenv()可获取一个环境变量的值。如:  
[u]复制代码[/u] 代码如下:
    print(os.getenv("PATH"))  --如果环境变量不存在,返回nil。     os.execute函数用于执行和操作系统相关的命令,如:     os.execute("mkdir " .. "hello")
 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部