lua使用标准的c编写成的,所以lua具有很多c的共同性,比如占位符的使用,以及打出方式都是很一样
1.如果有个为number或者是java传入的数字类型,那么如何转换为你需要使用的格式呢 ,后面参数的大小为秒
local function main()
print(os.date("%Y.%m.%d.%H.%M.%S", os.time()));
end
main()
这里的%Y.%m.%d.%H.%M.%S分别代表的是年月日时分秒,其中如果把%S打成了%s,这里系统认不出,会直接得到的所有的值为nil,请注意(如果在后面一个参数为nil,那么得到的也是当前时间的偶!(系统当前时间))
print(os.date(".%m", nil));
数据
.02
其中还有最后一个参数为0的时候也要特别注意,因为
print(os.date("%Y.%m.%d.%H.%M.%S", 0));
得到的是
1970.01.01.08.00.00
只有
print(os.date("%Y.%m.%d.%H.%M.%S",-100));
这样得到的才是nil偶(需要注意后面的参数需要<-1,其他的时间获取到的还是初始时间)
下面是一些转载的东东,感觉还是满有用的(已经自己完善)
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]得到当前的小时数(24小时制)
%I hour, using a 12-hour clock (11) [01-12]得到当前的小时数(12小时制)
%M minute (48) [00-59]获取当前分钟数
%m month (09) [01-12]获取当前月份(各位会自动添0)
%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]属性确定在100年的范围内可以用两位数的年份来表示的最大年份。
%% the character '%'(当出现%%m等这样的占位符,就会出现抵消占位符%m的作用)
事实上如果不使用任何参数就调用date,就是以%c的形式输出。这样就是得到经过格式化的完整时间信息。
注意%x、%X和%c由所在地区和计算机系统的改变会发生变化。
如果该字符串要确定下来(例如确定为mm/dd/yyyy),可以使用明确的字符串格式方式(例如"%m/%d/%Y")。
下面提供:
1.获取系统时间
function main()
timer=os.time();
tab=os.date("*t",timer);
print(tab.year);
print(tab.month);
print(tab.day);
print(tab.hour);
print(tab.min);
print(tab.sec);
end
main();
2.倒计时逻辑
-- --分大于0的时候
-- if(mmin>0)then
-- mmin=mmin-1;
-- else
-- if(mhour>0)then
-- mmin=59;
-- mhour=mhour-1;
-- else
-- if(mday>0)then
-- mday=mday-1;
-- mhour = 23;
-- mmin = 59;
-- else
-- mmin = 0;
-- mhour = 0;
-- mday = 0;
-- end
-- end
-- end