lua外掛之----【luaDate 日期類】

1024记忆發表於2024-11-09
API列表
(自寫API,供自查詢。對您無用,不要看了)
【須知】
一、LUA中沒有日期型別。在LUA中日期有二種表現方式:
1) 時間戳日期 ,比如:1731132998
2) 日期表,比如:{year=, month=, day=, hour=, min=, sec=}
二、本介面中,相容了日期格式字串。比如:2024-11-12 13:14
三、本AP都是精確到秒。如果想要精確到毫秒計算,請使用 os.clock()。一般這個命令用於計算指令碼耗時比較多。
介面原型 說明
luaDate.timestamp 獲取時間戳。支援日期格式字串、日期表
luaDate.isDate 檢測是否是日期。支援日期格式字串或日期表
luaDate.split 拆分成日期
luaDate.format 格式化日期
luaDate.comput 日期計算
luaDate.diff 返回兩個日期相差秒數

原型:luaDate.timestamp(d)

@ 說明:獲取時間戳。支援日期格式字串、日期表
@ 引數:
d [string | table 可選] 日期格式字串或時間設定表。年月日是必需的,時分秒可選
日期格式字串:2024-11-11 12:12:13 或 2024/11/11 12:12:13 或 2024年11月11日 12時12分13秒
日期表:{year=, month=, day=, hour=, min=, sec=}

@ 返回: [number | nil]

luaDate.timestamp() //獲取當前時間戳,結果:1731132998
luaDate.timestamp({"year": 2024, "month": 11, "day": 12, "hour": 5, "min": 20, "sec": 1}) //以時間表的方式獲取 2024年11月12日 5時20分1秒 的時間戳,結果:1731360001
luaDate.timestamp("2024年11月12日 5時20分1秒")//以日期字串的方式獲取 2024年11月12日 5時20分1秒 的時間戳,結果:1731360001
luaDate.timestamp("2024/11/12 5:20:1")//以日期字串的方式獲取 2024年11月12日 5時20分1秒 的時間戳,結果:1731360001

原型:luaDate.isDate(d)

@ 說明:檢測是否是日期型別。支援日期格式字串、日期表、時間戳

@ 引數:
d [string | table 必需] 日期格式字串或日期表

@ 返回: [boolean]

luaDate.isDate(1731360001) //結果: true
luaDate.isDate("2024/11/12 5:20:1") //結果:true
luaDate.isDate({"year": 2024, "month": 11, "day": 12, "hour": 5, "min": 20, "sec": 1}) //結果:true

原型:luaDate.split(d)

@ 說明:拆分成日期
@ 引數:

d [string 必需] 日期格式字串或日期表

@ 返回:[table | nil]

格式如下:{sec : 1 , min : 20 , month : 11 , hour : 5 , isdst : false , yday : 317 , day : 12 , year : 2024 , wday : 3}

isdst : 是否是夏令制
isdst :一年第多少天
wday : 當前第幾周

luaDate.split({"year": 2024, "month": 11, "day": 12, "hour": 5, "min": 20, "sec": 1}) // 拆分日期表,結果:{sec : 1 , min : 20 , month : 11 , hour : 5 , isdst : false , yday : 317 , day : 12 , year : 2024 , wday : 3}
luaDate.split(1731360001) // 拆分時間戳
luaDate.split("2024/11/12 5:20:1") //拆分日期字串

原型:luaDate.format(d, formatStr)

@ 說明:格式化日期
@ 引數:

d [string 必需] 日期格式字串或日期表或時間戳
formatStr [string 必需] 格式規則,比如:yyyy-mm-dd HH:MM:SS

@ 返回:[string | nil]

luaDate.format("2024/11/12 5:20:1", "yyyy年mm月dd日 hh時MM分ss秒") //格式化日期字串,結果:2024年11月12日 5時20分1秒
luaDate.format(1731360001, "yyyy年mm月dd日 hh時MM分ss秒")//格式化時間戳,結果:2024年11月9日 14時52分11秒
luaDate.format({"year": 2024, "month": 11, "day": 12, "hour": 5, "min": 20, "sec": 1}, "yyyy年mm月dd日 hh時MM分ss秒")  //格式化日期表,結果:2024年11月12日 5時20分1秒

原型:luaDate.comput(d, tbl)

@ 說明:日期計算
@ 引數:

d [string 必需] 日期格式字串或日期表或時間戳
tbl [table],計算方式。比如,在當前日期上加年: {year=1} ,提前一年:{year=-1}。可設定: year/month/day/hour/min/sec

@ 返回:[table] 日期表,格式:{yday : 313 , isdst : false , month : 11 , min : 58 , wday : 6 , sec : 27 , hour : 14 , day : 8 , year : 2024}

luaDate.comput(1731360001, {"day": -1}) //昨天
luaDate.comput(1731360001, {"day": 1})  //明天

原型:luaDate.diff(d1, d2)

@ 說明:返回兩個日期相差秒數
@ 引數:

d1 [string 必需] 日期
d2 [string 必需] 日期

@ 返回:[number | nil]

luaDate.diff("2024-11-11 15:15:15", "2024-11-11 15:15:25") // 結果:-10

相關文章