lua - 如何在 LUA 脚本中正确格式化日期 - 05292020
问题描述
我在格式化这个 LUA 脚本中的日期时遇到了一些困难。我希望它以以下格式输出当前日期 - 05292020。但是,我无法正确格式化年份,所以我的输出是052920。我一直在广泛搜索以找到解决方案,但我真的坚持这个。谁能指出我正确的方向?先感谢您!
function OnEvent(event, arg, family)
if event == "G_PRESSED" and arg == 1 then
-- Take the first 8 characters only (1,8)
local date = string.sub(GetDate(), 1, 8)
for i = 1, #date do
local ch = date:sub(i,i)
if ch == "-" then
PressAndReleaseKey("minus")
elseif ch == "," then
PressAndReleaseKey("comma")
elseif ch == "." then
PressAndReleaseKey("period")
elseif ch == "/" then
-- PressAndReleaseKey("slash")
elseif ch == " " then
PressAndReleaseKey("spacebar")
elseif ch == ":" then
PressKey("lshift")
Sleep(10)
PressAndReleaseKey("semicolon")
ReleaseKey("lshift")
elseif ch == ch:lower() then
PressAndReleaseKey(ch)
else
PressKey("lshift")
Sleep(10)
PressAndReleaseKey(ch:lower())
ReleaseKey("lshift")
end
end
end
end
解决方案
为了我的需要,我这样做:
-- CURRENT DATE AND TIME
local myyear = os.date("*t").year
local mymonth = os.date("*t").month; if mymonth < 10 then mymonth = "0"..mymonth end
local myday = os.date("*t").day; if myday < 10 then myday = "0"..myday end
local myhour = os.date("*t").hour; if myhour < 10 then myhour = "0"..myhour end
local mymin = os.date("*t").min; if mymin < 10 then mymin = "0"..mymin end
local mysec = os.date("*t").sec; if mysec < 10 then mysec = "0"..mysec end
local mytime = myyear..mymonth..myday.."_"..myhour..mymin..mysec
print(mytime)
希望这不是太复杂并且可以有所帮助?
PS:我正在使用使用 lua 的 gideros 引擎。
推荐阅读
- postgresql - docker compose 与网络,连接 ECONNREFUSED
- javascript - 如何实现一个组件最初显示多个 div 元素,然后显示更多元素?
- ruby-on-rails - Rails:冲突错误覆盖/home/username/blog/.gitignore?
- ruby-on-rails - 在 React 中使用 multipart/form-data 时 Rails Controller 中缺少参数
- matlab - Matlab中查找工具箱功能的问题
- python - CSV's to Database with Pandas,编码错误
- javascript - 我对这个 JS 数组做错了什么?
- python - Python Flask - 请求对象即使已导入也不存在
- node.js - 将标头发送到客户端后无法设置标头-Sendgrid
- visual-studio-2019 - 使用 Razor 页面模板创建项目时收到错误