lua日期与时间操作

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")。