您的位置:首页 > 编程语言 > Lua

lua日期与时间操作

2015-01-07 16:01 344 查看
os.time()                <== 返回当前系统的日历时间
os.date()                <== 返回本地化的时间字符串,这里是"11/28/08 17:23:37"

os.date("%x", os.time()) <== 返回自定义格式化时间字符串(完整的格式化参数),这里是"11/28/08"

os.clock()               <== 返回执行该程序CPU花去的时钟秒数,这里是1156.726

附录

完整的格式化参数

这些时间输出的字符串表示是经过本地化的。所以如果是在巴西(葡萄牙语系),"%B" 得到的就是 "setembro"(译者按:大概是葡萄牙语九月?),"%x" 得到的就是 "16/09/98"(月日次序不同)。标记的意义和显示实例总结如下表。实例的时间是在1998年九月16日,星期三,23:48:10。返回值为数字形式的还列出了它们的范围。(都是按照英语系的显示描述的,也比较简单,就不烦了)

%a abbreviated weekday name (e.g., Wed)

%A full weekday name (e.g., Wednesday)

%b abbreviated month name (e.g., Sep)

%B full month name (e.g., September)

%c date and time (e.g., 09/16/98 23:48:10) 

%d day of the month (16) [01-31]

%H hour, using a 24-hour clock (23) [00-23]

%I hour, using a 12-hour clock (11) [01-12]

%M minute (48) [00-59]

%m month (09) [01-12]

%p either "am" or "pm" (pm)

%S second (10) [00-61]

%w weekday (3) [0-6 = Sunday-Saturday]

%x date (e.g., 09/16/98)

%X time (e.g., 23:48:10)

%Y full year (1998)

%y two-digit year (98) [00-99]

%% the character '%'

事实上如果不使用任何参数就调用date,就是以%c的形式输出。这样就是得到经过格式化的完整时间信息。

注意%x、%X和%c由所在地区和计算机系统的改变会发生变化。

如果该字符串要确定下来(例如确定为mm/dd/yyyy),可以使用明确的字符串格式方式(例如"%m/%d/%Y")。

时间差计算:

local fromTime = os.time()local tab = os.date("*t", time)		--时间表格tab.sec = tab.sec+30toTime = os.time(tab)print("Dif -- " .. (toTime-fromTime))
时间表格:


 结果:Dif -- 30

os.time()相关设置



os.date()相关设置



--计算指定月份总天数
--通过os.time()获取当前月份的下一个月减去1天(即当月最后一天)的时间,然后通过os.date格式化时间,得到当月的总天数
os.date("%d",os.time({year=os.date("%Y"),month=os.date("%m")+1,day=0}))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua