在Lua脚本中,计算特定天数后的日期。
2018-11-28 11:31:16
收藏:0
阅读:91
评论:3
我是 Lua 脚本的新手。我有一个 startdate (格式为 "dd-mm-yyyy" 的 "03-05-2014") 和一个以天为单位的跨度 (2)。有人可以帮我根据 startdate 和 span 获取 endDate 吗?
例子 startDate span endDate
--------- ---- -------
03-05-2014 2 05-05-2014
(dd-mm-yyyy) (dd-mm-yyyy)
点赞
用户886953
这可能会对你有所帮助
local dayValue, monthValue, yearValue = string.match('31-05-2014', '(%d%d)-(%d%d)-(%d%d%d%d)')
dayValue, monthValue, yearValue = tonumber(dayValue), tonumber(monthValue), tonumber(yearValue)
now = os.time{year = yearValue, month = monthValue, day = dayValue}
numberOfDays = now + 2 * 24 * 3600
print(os.date("%c",numberOfDays))
dateAfterNumberOfDays = os.date("%a %d %B %Y, %H%p%M",numberOfDays)
print ("\nafter number of days "..dateAfterNumberOfDays) -- give you date after number of days
通过该代码,可以帮助你计算指定日期之后的日期。代码首先通过字符串匹配函数string.match()解析日期参数,然后将其转换为dayValue、monthValue和yearValue变量。接下来,利用时间函数os.time()将这些值转换为时间戳格式化,并将得到的结果加上特定的天数。最后,使用os.date()函数将时间戳格式化为日期字符串。
2014-05-06 06:17:42
用户258523
你不需要在这里进行任何计算。os.time和os.date会为你完成。
local day, month, year = ("03-05-2014"):match("(%d%d)-(%d%d)-(%d%d%d%d)")
local span = 64
local endtime = os.time({day = day + span, month = month, year = year})
print(os.date("%c", endtime))
2014-05-06 13:50:33
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我不会为你编写整个程序,但是这里是一些你可以开始使用的东西:
从字符串中获取日期、月份和年份:
local day, month, year = string.match('03-05-2014', '(%d%d)-(%d%d)-(%d%d%d%d)') day, month, year = tonumber(day), tonumber(month), tonumber(year)使用
os.time获取一个起始时间的时间戳。接着,你可以添加3600 * 24 * 2秒(即 2 天)来获取结束时间的时间戳。使用
os.date将时间戳格式化为字符串。