lua时间函数

转载 2015年11月19日 12:44:31

一、时间的三种格式

1、用数值表示时间值 

用数字值来表示时间值,
实际上时间值的本质就是一个数字值。

例如:

d = 1131286477 

这里的 1131286477 是一个以秒为单位的 格林威志时间(gmt),注意不同时区的时差

2、用字符串表示时间 

用字符串来来表示时间。

例如:

d = "2005-11-06 22:18:30" --2005年11月6日 22点18分30秒
d = "11/06/2005 22:18:30" --即2005年11月6日 22点18分30秒

3、时间的列表格式 

用table对象来表示时间

例如:

d = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
--同样表示2005年11月6日 22点18分30秒,其中isdst=false表示不使用夏令时

我们可以这样访问时间列表 d.year = 2005;

二、取得数值(number)格式的时间值

time = os.time() 

返回一个标准的number(数值)格式的时间值,这也是最原始的时间值
os.time()返回的时间是以秒为单位的。

1、获取当前时间数值

time = os.time(); 
--如果没有指定任何参数,则返回当前时间

2、通过table参数指定时间,获取指定的时间数值

time = os.time(tab);

通过一个table参数,指定一个时间,返回时间的数值格式.

例如:

local tab = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
--year表示年,month表示月,day表示日期,hour表示小时,min表示分钟,sec表示秒,isdst表示是否夏令时 

time = os.time(tab) -->返回值为1131286710

三、取得列表(table)格式的时间

tab = os.date("*t",time) 

可以将一个数值格式的时间转换为字符串或者列表
其中第一个参数指定返回的格式,如果第一个参数指定为"*t" 则返回一个table格式的时间。
第二个参数指定一个时间数值(以秒为单位)

1、获取当前时间的table格式

tab = os.date("*t")

如果不指定os.date的第二个参数,则返回当前时间的table表示格式

2、通过时间数值,获取指定时间的table格式

tab = os.date("*t", time)

通过os.date函数的第二个参数指定一个时间数值。

例如:

local tab = os.date("*t", 1131286710);

--返回值 tab 的数据 {year=2005, month=11, day=6, hour=22,min=18,sec=30}
--year表示年,month表示月,day表示日期,hour表示小时,min表示分钟,sec表示秒,isdst表示是否夏令时 
--tab成包括一些其他的成员 tab.yday 表示一年中的第几天 tab.wday 表示星期几(星期天为1)


time = os.time(tab) -->返回值为1131286710

四、取得时间的字符串(string)格式

tab = os.date(format,time)

实际上与取得table格式的时间一样,同样是使用os.date参数,不同的是第一个参数
如果第一个参数不是"*t" os.date返回字符串

关于format参数使用的格式化语法,请参考:string.ftime格式化语法
os.date 的用法与 string.ftime 完全相同

例如:

win.consoleOpen()

print(  os.date("today is %A, in %B")  )
print(  os.date("%x", 906000490)  )

--输出类似这样的字符串 09/16/1998

1、获取当前时间的字符串(string)格式

如果不指定os.date的第二个参数,则返回当前时间的table表示格式

例如:

str= os.date("*x")

2、通过时间数值,获取指定时间的(string)格式

通过os.date函数的第二个参数指定一个时间数值。

例如:

str= os.date("*x",1131286710)

3、获取时间的指定部份的(string)格式

例如:

str = os.date("%M") --返回当前时间分钟部份的字符串格式

五、时间数值与字符串之间的转换

请参考:string.time string.ftime 函数用法

六、计算时间值间隔

int = os.difftime(t2,t1);

t2,t1都是数值格式的时间值,返回值也是一个数值表示间隔的时间。
参数以及返回的时间值都是以秒为单位的数值格式。

local tab = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
t1 = os.time(tab)

tab.day = tab.day +1;--前进一天
t2 = os.time(tab)

int = os.difftime(t2,t1);
win.messageBox(int.."秒","时间差"

七、系统时钟

int = os.tick();
读取系统时钟,以毫秒为单位。表示从系统启动到当前时刻所过去的毫秒数。

int = os.clock()
读取系统时钟,以秒为单位。表示从系统启动到当前时刻所过去的秒数。

 注意 

因为内部实现的差异,os.tick 与 os.clock()的返回值并不完全一致。

lua 时间函数os.time()和os.date()

Lua标准库中提供了关于时间函数 os.time()和os.date(),这两个函数需要注意的地方就是加入了时区的概念   os.time() 得到是当前时间的距离1970.1.1.08:00时间...
  • u010130424
  • u010130424
  • 2016年11月24日 15:33
  • 15705

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

本人总结了一些lua语言中一些时间函数,欢迎补充! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1、os.time() 含义:获取当前的时间戳(返回的是从1970...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2015年11月01日 21:10
  • 1008

Lua 5.1 常用时间函数以及一个字符串转时间的方法

常用时间函数 print(os.time()) --当前系统时间值 1456368102 print(os.date("%Y%m%d",os.time())) --当前系统时间的格式化字符串 201...
  • a102111
  • a102111
  • 2016年02月25日 10:49
  • 7529

Lua中日期和时间函数详解

最近在做Lua脚本的时候,用到了Lua的日期和时间函数,发现其功能强大,学习一下!在Lua中,函数time和 data提供了所有的日期和时间的功能,下面将这两个函数分开学习。 time函数: 如果不带...
  • Andy_93
  • Andy_93
  • 2017年08月22日 19:08
  • 2286

秒数转时分秒函数

//秒数转为时分秒 private function changeTimeType($seconds){ if ($seconds>3600){ $hours=intval($second...
  • leejianjun
  • leejianjun
  • 2016年06月17日 17:43
  • 513

lua 时间函数

转自 http://www.cnblogs.com/emyueguang/archive/2011/05/10/2042671.html mark一下 os.time()         ...
  • yhelon
  • yhelon
  • 2015年01月24日 17:04
  • 149

Lua 时间函数

local getTime = os.date(“%c”); 其中的%c可以是以下的一种:(注意大小写) %a abbreviated weekday name (e.g...
  • pyf09
  • pyf09
  • 2017年08月17日 18:05
  • 72

lua时间函数

os.time() os.date() os.date("%x", os.time()) os.clock() 执行下列代码:  print(os.time());  print(...
  • yuge2008
  • yuge2008
  • 2013年11月11日 16:26
  • 369

Lua内置函数大全

•assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息  •collectgarbage() - 垃圾收集器. (新...
  • jiangtao_killer
  • jiangtao_killer
  • 2017年06月01日 16:17
  • 501

os.clock()获取lua代码运行时间

转自:原文链接请点击连接查看原文,尊重楼主版权。 os.clock():获取lua代码运行时间 解释:返回一个程序使用CPU时间的一个近似值。 -- 记录开始时间 local startti...
  • qq_33337811
  • qq_33337811
  • 2017年05月16日 16:14
  • 2146
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lua时间函数
举报原因:
原因补充:

(最多只允许输入30个字)