Step By Step

Step By Step,第1张

Step By Step(Lua系统库) Step By Step(Lua系统库)

Lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和OS相关的库。


但是Lua还提供了一些扩展库,比如Posix库等。


对于文件 *** 作而言,该库仅提供了os.rename函数和os.remove函数。



    

    1. 日期和时间:

    在Lua中,函数time和date提供了所有的日期和时间功能。



    如果不带任何参数调用time函数,它将以数字形式返回当前的日期和时间。


如果以一个table作为参数,它将返回一个数字,表示该table中所描述的日期和时间。


该table的有效字段如下:

字段名 描述 year 一个完整的年份 month 01-12 day 01-31 hour 00-23 min 00-59 sec 00-59 isdst 布尔值,true表示夏令时

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返回的数字值转换为更高级的可读格式,其第一个参数是格式化字符串,表示期望的日期返回格式,第二个参数是日期和时间的数字,缺省为当前日期和时间。


如:

 
 1 dd = os.date("*t",os.time())  --如果格式化字符串为"*t",函数将返回table形式的日期对象。


如果为"!*t",则表示为UTC时间格式。



2 print("year = " .. dd.year)

3 print("month = " .. dd.month)

4 print("day = " .. dd.day)

5 print("weekday = " .. dd.wday) --一个星期中的第几天,周日是第一天

6 print("yearday = " .. dd.yday) --一年中的第几天,1月1日是第一天

7 print("hour = " .. dd.hour)

8 print("min = " .. dd.min)

9 print("sec = " .. dd.sec)

10

11 --[[

12 year = 2012

13 month = 4

14 day = 5

15 weekday = 5

16 yearday = 96

17 hour = 11

18 min = 13

19 sec = 44

20 --]]

 

date函数的格式化标识和C运行时库中的strftime函数的标识完全相同,见下表:

关键字 描述 %a 一星期中天数的缩写,如Wed %A 一星期中天数的全称,如Friday %b 月份的缩写,如Sep %B 月份的全称,如September %c 日期和时间 %d 一个月中的第几天(01-31) %H 24小时制中的小时数(00-23) %I 12小时制中的小时数(01-12) %j 一年中的第几天(001-366) %M 分钟(00-59) %m 月份(01-12) %p "上午(am)"或"下午(pm)" %S 秒数(00-59) %w 一星期中的第几天(0--6等价于星期日--星期六) %x 日期,如09/16/2010 %X 时间,如23:48:20 %y 两位数的年份(00-99) %Y 完整的年份(2012) %% 字符'%'

print(os.date("%Y-%m-%d"))  --输出2012-04-05

    函数os.clock()返回CPU时间的描述,通常用于计算一段代码的执行效率。


如:

 
1 local x = os.clock()

2 local s = 0

3 for i = 1, 10000000 do

4 s = s + i

5 end

6 print(string.format("elapsed time: %.2f\n", os.clock() - x))

7

8 --输出结果为:

9 --elapsed time: 0.21

 

2. 其他系统调用:

    函数os.exit()可中止当前程序的执行。


函数os.getenv()可获取一个环境变量的值。


如:

    print(os.getenv("PATH"))  --如果环境变量不存在,返回nil。



    os.execute函数用于执行和 *** 作系统相关的命令,如:

    os.execute("mkdir " .. "hello")

   

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/589567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存