lua时间工具os.date和os.time

os.date

os.date可以输出固定格式的时间

os.date("*t", time) 返回当前time时间戳的年月日
os.date("*t")    返回当前机器时间的年月日
os.date("*t").year  
os.date("*t").month
os.date("*t").day)
os.date("*t").hour
os.date("*t").wday
os.date("%Y-%m-%d, %H:%M:%S",os.time())  返回当前机器时间的固定格式

os.time

如果没有任何参数,就会返回当前时间。如果参数一个table,并且table的域必须有 year, month, day, 可有也可以没有 hour, min, sec, isdst,则会返回table所代表日期的时间,如果未定义后几项,默认时间为当天正午(12:00:00)。 返回值是一个 number ,其值取决于你的系统。

os.time() 得到是当前时间的距离1970.1.1.08:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值。

任何一个时区,在相同的时间,同时调用os.time() 返回的结果都是一样的

通过查资料发现,os.time()应该是有限制的

32位带符号整形,
最大正整数表示 : 2147483647
转成日期就是 : Tue Jan 19 03:14:07 2038

如果传递事件这个值大,可能会出现问题。这个问题没有验证。还不确定。

os.time()  返回当前时间戳
os.time({day=26,month=4,year=2018})  返回2018年4月26日时间戳
os.time({year =2016, month = 11, day =23, hour =17, min =17, sec = 00}) 返回2016年11月23日17时17分00秒时间戳

如果服务器返回一个时间戳,客户端想要转换成可读样式,需要考虑到时区问题,因为是按照本地时区转换的,如果本地时区跟服务器所在时区不一致,就会导致时间显示错误,一般解决办法就是 加上时区差即可。如果有夏令时,则需要加上3600s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值