lua插件之----【luaDate 日期类】

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

 

posted @   1024记忆  阅读(85)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示