【前言】
在《Lua中的一些库(1)》这篇文章中,总结了一部分Lua中的库函数,一篇文章肯定是总结不完的,所以,就来一个《Lua中的一些库(2)》。希望大家能忍住。来吧。
操作系统库定义在table os中,其中包含了文件操作函数、获取当前日期和时间的函数。为了保证Lua的可移植性,所以对于文件库来说,就比较简单,它只包含两个函数:
- 用于文件改名的os.rename函数;
- 用于删除文件的os.remove函数。
但是对于获取日期和时间的函数,还是有必要花费一点时间总结一下的。
【日期与时间】
在Lua库中提供了两个非常重要的日期和时间函数,分别是time和date。那就先从time函数开始。
- time
如果不带任何参数调用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()) -- 输出当前时间的描述 print(os.time({year=2014,month=8,day=14}))
- date
函数date是time的一个反函数,它可以将一个表示日期和时间的数字转换成某些高级的表现形式。其第一个参数是格式字符串,指定了期望的表示形式;第二个参数是日期和时间的数字,默认为当前日期和时间。例如:local tbCurrentTime = os.date("*t") for k, v in pairs(tbCurrentTime) do print(k .. "=" .. tostring(v)) end
这样就会输出当天的时间,你运行以下代码看看。其实data函数没有多少需要说的。只是data函数的第一个参数的格式种类是非常多的,可以去百度一下。我一般用一个*t就够了。但是了解一下其它的也还不错。对于这里说到的time和date两个函数,一般time函数返回的描述不适合人去读,我们一般都是保存这个数字,在后台进行处理;对于date函数,它返回的内容适合人去读,所以,一般使用date返回的数据在UI上显示。