Lua学习笔记 第二十二章 操作系统库

操作系统库定义在table os中,其中包含了文件操作函数、获取当前日期和时间的函数,

及其它一些与操作系统相关的功能。对文件操作而言,这个库只提供了两个函数,一个是用

于文件改名的os.rename函数,另一个是用于删除文件的os.remove函数。

 

22.1日期和时间

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

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

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

这个table具有以下字段:

year        一个完整的年份

month       01——12

day         01——31

hour        00——23

min         00——59

sec         00——59

isdst       一个布尔值,true表示夏令时

前三个字段是必须要有的,其它字段默认为中午(12:00:00).

print(os.time({year=1970,month=1,day=1,hour=7}))

函数date是一个反函数,它可以将一个表示日期和时间的数字转换成某些高级的表现形式。

其第一个参数是格式字符串,指定了期望的表示形式;第二个参数是日期和时间的数字,

默认为当前日期和时间。

如为了生成一个日期table,可以使用格式字符串"*t".注意:除了用于os.time的那些字段外,

os.date所创建的table中还包含了星期数(wday)和一年中的第几天(yday)。这个table中所

表示的时间是本机所在时区的时间。如果格式字符串是"!*t",那么table中所表示的时间是

格林尼治时间。

对于其它格式字符串,os.date会将日期格式化为一个字符串,这个字符串是传入格式字符

串的一个复制,但其中的某些特殊标记被替换成了时间和日期信息。所有的标记都以"%"开头,

并伴随一个字母。例如:

print(os.date("today is %A, in %B"))    -->today is Tuesday, in May

下表列出了所有的标记及其含义;对于数字值,表中也列出了它们的有效范围:

%a  一星期中天数的简写

%A  一星期中天数的全称

%b  月份的简写

%B  月份的全称

%c  日期和时间(09/16/9823:48:10)

%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/98)

%X  时间(23:48:10)

%y  两位数的年份[00-99]

%Y  完整的年份(1998)

%%  字符%

如果不带任何参数调用date函数它会使用格式%c。如果需要一种固定的表示形式,可以使用

显示的格式字符串"%m/%d/%Y".

函数os.clock会返回当前CPU时间的秒数,一般可用于计算一点代码的执行时间。

 

22.2 其它系统调用

函数os.exit可终止当前程序的执行;

函数os.getenv可获取一个环境变量的值,并接受哦一个变量名,返回对应的字符串值:

print(os.getenv("HOME")) --> /home/lua

如果一个环境变量没有定义,则返回nil

函数os.execute可运行一条系统命令,它需要接受一个命令字符串,并返回一个错误代码。

如可用以下函数创建新目录:

function createDir(dirname)

    os.execute("mkdir".. dirname)

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值