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