Lua 中的日期格式化

我从数据库中获取到的日期格式是这样的:

vardate =  '01/20/2017 09:20:35' - mm/dd/yyyy hh:mm:ss

我想将其转换为格式为 dd-mm-yyyy hh:mm:ss

我能得到一些关于如何获得我想要的格式的指导吗?

点赞
用户20043
用户20043

Lua的日期格式化非常简单。如果您只需要将其从一种格式转换为另一种格式,并且该格式不会更改,则可以简单地使用string.match

function convertDate(vardate)
    local d,m,y,h,i,s = string.match(vardate, '(%d+)/(%d+)/(%d+) (%d+):(%d+):(%d+)')
    return string.format('%s/%s/%s %s:%s:%s', y,m,d,h,i,s)
end

-- 这样调用
convertDate('01/20/2017 09:20:35')

如果需要更复杂的功能,建议使用外部库。

2017-01-23 17:05:02
用户3735873
用户3735873
function ConvertDate(date)
  return (date:gsub('(%d+)/(%d+)/(%d+) (%d+:%d+:%d+)','%2-%1-%3 %4'))
end

-- 测试
print(ConvertDate('01/20/2017 09:20:35'))
2017-01-23 21:03:13