lua语言中与时间相关的函数总结

来源:互联网 发布:长歌门捏脸数据 编辑:程序博客网 时间:2024/05/01 03:01

本人总结了一些lua语言中一些时间函数,欢迎补充!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1、os.time()
含义:获取当前的时间戳(返回的是从1970年1月1日00:00:00到现在经过的秒数),单位是秒
举例:
(1)显示当前秒数
%————————
time1 = os.time()
print(time1)
%————————
结果:1446383090
(2) 计算矩阵相乘所用时间
%————————————————
time1 = os.time()
print(‘初始时间:’,time1)
m = torch.rand(1000,15000)
n = torch.rand(15000,1000)
mn = m*n
–print(mn)
time2 = os.time()
print(‘结束时间:’,time2)
time = time2-time1
print(‘计算矩阵相乘所用时间:’,time)
%————————————————
结果如下:
初始时间: 1446383819
结束时间: 1446383827
计算矩阵相乘所用时间: 8
(3)计算过去某一时刻到现在所经历的秒数
%——————————————————————————————
time1 = os.time() - -当前时间,单位秒
time2 = os.time({year=2015,month=1,day=5,hour=15,min=15,sec=15}) - -指定时间,单位秒
sub = from - to - -差
print(‘2015年1月5日15时15分15秒到现在经历的秒数:’,sub)
%——————————————————————————————
结果如下:
2015年1月5日15时15分15秒到现在经历的秒数: 25943527
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2、os.date()
含义:获得当前的时间table(返回的是按照一定格式输出的日期字符串或table)
举例:
(1)给出现在的详细时间
%——————————
tab=os.date()
print(tab)
%——————————
结果如下:
2015年11月01日 星期日 21时22分53秒
(2)给出时间表
%——————————
tab=os.date(“*t”) –或者tab=os.date(“*t,time”)
print(tab)
%——————————
结果如下:
{
day : 1
year : 2015
isdst : false
sec : 36
month : 11
yday : 305
wday : 1
hour : 21
min : 32
}
(3)计算今天的日期
%——————————
str=os.date(“%x”) – 或者str=os.date(“%x”,time)
print(‘今天的日期是:’,str)
%——————————
结果如下:
今天的日期是: 2015年11月01日
(4) 通过毫秒数拿到对应的日期时间字符串
%————————————————
local t = 1412753621000 - -毫秒数
function getTimeStamp(t)
return os.date(“%Y%m%d%H”,t/1000)
end
print(getTimeStamp(t))
%————————————————
结果如下:
2014100815
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3、sys.clock()与os.time()用法大致相同
举例:
%————————————————
a = sys.clock()
b = os.time()
print(a,b)
%————————————————
结果如下:
1446426376.3964
1446426376
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4、os.clock()
含义:返回一个程序使用CPU时间的一个近似值
举例:
%————————————————
local x = os.clock();
print(os.clock())
local s = 0;
for i = 1, 100000000 do
s = s + i;
end
print(string.format(“elapsed time : %.2f\n”, os.clock() - x))
%————————————————
结果如下:
0.201381
elapsed time : 0.13
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5、os.difftime (t2, t1)
含义:返回t1到t2相差的秒数
举例:
%————————————————
time1 = os.time();
for i = 0, 10000000 do
os.time();
end
time2 = os.time();
print(os.difftime(time2, time1));
%————————————————
结果如下:
1

总结:
os.time()与sys.clock() <== 返回当前系统的日历时间
os.date() <== 返回本地化的时间字符串
os.date(“%x”, os.time()) <== 返回自定义格式化时间字符串(完整的格式化参数)
os.clock() <== 返回一个程序使用CPU时间的一个近似值
os.difftime (t2, t1) <== 返回t1到t2相差的秒数
关于以上函数的更详细参数见参考网址:
参考网址:
lua 日期时间操作 :http://blog.csdn.net/chencong112/article/details/7002318
lua Date和Time :http://blog.csdn.net/goodai007/article/details/8077285

1 0