之前在项目中遇到一个问题:有个字段上游返回给我的是类似 “28800000” 这样格式的毫秒数,可是数据来源的UI界面上显示的却是类似 “9:00” 这样的格式,为了格式统一,PM 要求我能不能把我这边的格式转换一下。
由于这个字段是个实时数据,它没有跟数据库的某个表或者某个字段对应,所以要转的话只能用Lua脚本来进行转换。
我一开始用了os.date()函数,很容易就转换出来了。但是编译的时候却报错,好像是说找不到os.date()这个函数,有点忘了,但是反正意思就是不能使用os.date()这个函数。我查的时候貌似看到说os.date()这个函数是个内置函数,为什么不能使用呢?
既然不能使用,那我就自己写一个吧。反正也不难。
下面是我当时在代码中写的,反正功能是实现了,我已经加了注释说明。我们需要转换成的格式只是类似 “9:00” 这样,没有年月日和毫秒,如果需要,加上就行。如果写的有欠缺的,欢迎指正。
-- timestampToDate() is an function that convert timestamp format like '28800000' to date format like '9:00'
function timestampToDate(x)
if x == nil or x == "" then