lua学习笔记之日期时间

有两种表现形式,一种是通过数字,另外一种方式是通过日期表:year,month,day,hour,min,sec.wday,yday,isdst

1、函数

1.1 os.time

print(os.time())
local date = os.time()
local day2year = 365.242
local sec2hour = 3600
local sec2day = sec2hour * 24
local sec2year = sec2day * day2year

print(date // sec2year + 1970)

print(date % sec2day // sec2hour)

print(date % sec2hour // 60)

print(date % 60)

输出:
1641709237
2022.0
6
20
37

年月日形式转为数字形式

print(os.time({year = 2022, month=1, day = 9, hour = 14, min = 22, sec = 20}))

输出:
1641709340

1.2 os.date

将数值形式转为表形式或者字符串形式。第一个参数是格式 化字符串,第二个是数值形式的日期,如果没有提供,表示当前时间。

t = os.date("*t")
print(t)
print(t.year, t.month, t.day, t.yday, t.wday, t.hour, t.min, t.sec, t.isdst)

输出:
table: 00000000006fa1b0
2022	1	10	10	2	21	13	48	false

字段允许值范围列表

year全年
month1-12
day1-31
hour0-23
min0-59
sec0-60
wday1-7
yday1-366

函数指令

%a简写的周名
%A全写的周名
%b简写的月名
%B全写的月名
%c日期和时间
%d一个月的第几天
%H小时,24小时制
%I小时,12小时制
%j一年的第几天
%m
%M分钟
%pam或者pm
%S
%w周几 0-6表示Sunday-Saturday
%W一年的第几周
%x日期
%X时间
%y两位数的表示的年
%Y全年表示形式
%z时区
%%百分号

当使用os.date创建日期表,其字段都是在允许范围内的。但是当把日期表赋值给os.time时,字段并不需要满足要求。

t = os.date("*t")
print(os.date("%Y/%m/%d", os.time(t)))
t.day = t.day + 40
print(os.date("%Y/%m/%d", os.time(t)))

输出为:
2022/01/10
2022/02/19

t = os.date("*t")
print(os.date("%Y/%m/%d", os.time(t)))
t.day = t.day - 40
print(t.day, t.month)
t = os.date("*t", os.time(t))
print(t.day, t.month)

输出为:
2022/01/10
-30	1
1	12

1.3 os.difftime

计算两个时间差,以秒为单位。

1.4 os.clock

返回CPU时间的秒数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值