《Programming in Lua 3》读书笔记(十九)

日期:2014.7.29

PartⅢ The Standard Libraries

23 The Operating System Library


 

       提供一些基础的如文件管理,获取数据和时间,及一些其他与操作系统相关联的特性。但是诸如路径管理、网络等功能通过其他的库提供支持。

在文件操作部分,OS库提供了os.rename(改变文件名字),os.remove(移除某个文件)的操作。

23.1 Data and Time
       time和data函数,提供Lua中所有关于data和time的函数功能。(日期和时间)
       time函数,当以无参数形式调用的时候,将会返回当前的data和time,数值形式。当以table作为参数调用的时候,返回table中存储的data和time的数量(2014.7.30更正:当以table作为参数调用的时候,返回值也是一个数值,只不过这个数值是根据一下这个table代表的日期和时间进行转换为秒的值)。data table的格式为:
year               a full year
month            01-12
day                01-31
hour               00-23
min                00-59
sec                00-59
isdst               a boolean,true if daylight saving is on
       前三个字段是必须要的,后面的值默认为中午时间(12:00:00),以作者提供的例子UNIX系统环境,作者的时间:
print(os.time{year = 1970,month = 1,day = 1,hour = 0})          --10800
       作者所在的时区与格林尼治时间相差三个时差,打印出来的值10800转换成小时为3个小时。
       data函数,是time函数的反转操作。将一个代表日期和时间的数值转换为更高阶的表示形式,如转换为table表示。函数有两个参数,第一个字符串型参数代表要转换的格式,第二个为数值,该值默认是当前的日期和时间。
假如要生成一个日期table,那么第一个参数填写为"*t",如:
e.g.
os.data("*t",906000490)
--table
(year = 1998,month = 9,day = 16,yday = 259,wday = 4,hour = 23,min = 48,sec = 10,isdst = false}
       该table额外的字段是yday和wday,这两个值表示在一年中的第几天(1代表1月1号)和一星期中的第几天(1代表星期天)。
        其余的格式时,函数将字段需要的信息在原有字符串的基础上替换掉标签字符串,如以下例子:
e.g.
print(os.data("a %A in %B"))          --a Tuesday in May 

        这里就是将%A %B所代表的日期时间需求信息替换掉这两个标签,以下是所有标签所代表的意思:

        以上是调用os.data函数的一些参数,默认是以"%c"为标签。
        os.clock函数返回的是CPU时间的秒数值,用来做代码性能检测。
 
 
23.2 Other System Calls
os.exit()   退出
os.getenv()  获得变量环境值(所设定的环境),参数为变量的名字
os.execute()     运行系统终端
os.setlocale()     设置当前lua程序所使用的locale(场景?)两个参数,the locale name and a category that specifies what features the locale will affect.有六种类型:
 


 

原文地址:https://www.cnblogs.com/zhong-dev/p/4044566.html