lua 时间的转换处理

lua 时间的转换处理,第1张

local t = 1412753621000

function getTimeStamp(t)

return osdate("%Y%m%d%H",t/1000)

end

print(getTimeStamp(t))

lua代码其实很好写

Lua中遍历table主要有四种方式,各有各的不同

Lua的存储并不是顺序存储的,所以当我们使用第一种遍历方法去遍历的时候,输出的值可能和我们想象的顺序不同。

在我们的设想里,我们是希望它输出1,2,3,4,但是实际上输出的是1,2,4,3。for k,v in ipairs(tbtest) do是根据key中的hash值的排列顺序来排列的。

它的前提是key是从1开始的,那么它会按照key的大小顺序进行遍历,如果key不连续,它就不会接下去遍历

上面的函数只会打印1,2,3不会打印5

这样就一个都不会遍历

因为#table 是获取table里的数组段的长度,遍历时只会输出数组段的值,并且它的前提也是key必须从1开始,如果key不从1开始,#tbtest获取到的值就是0

它获取的是数组段的key的最大值,字符串的key是无法获取到的

其实maxn还是很有用处的,用它取到最大的key值,我们就可以从前往后遍历数据了,完全可以略过nil

while循环与其他语言循环几乎相同。

repeatuntil在lua51之后和其他语言有一些细微的不同,就是在循环体的局部变量的作用域扩增到条件测试中,也就是until语句。

lua毕竟是外国人发明的语言 而农历是中国人才有的

所以内置的OS库里不可能有农历的计算 只能自己通过转化获得答案了

>

FREESWITCH中录音你如果要搞到LUA脚本里就麻烦了,直接在dialplan里面就能录音。

<action application="set" data="execute_on_answer=record_session /data/media/${strftime(%Y%m%d)}/${strftime(%Y%m%d%H)}/${uuid}_$1_${caller_id_number}wav"/>

时间也都是从FS上面获取到传进LUA脚本里的。我是这么使用的。

%d- 为最短捕获,在"(%d-)/(%d-)/(%d-) 时,最后一个数字(1999)没有结束符,就是不能判断这个数字是否是最短,所以,lua就把它舍弃。 加上$时,标志着字符串结束,可以判断是否最短。

不过呢,你要获取日期,最好使用+,"(%d+)%/(%d-)%/(%d+)",最长捕获,这是在《lua程序设计》里的例子。

osdate ([format [, time]])

返回一个包含日期及时刻的字符串或表。 格式化方法取决于所给字符串 format。

如果提供了 time 参数, 格式化这个时间 (这个值的含义参见 ostime 函数)。 否则,date 格式化当前时间。

如果 format 以 '!' 打头, 日期以协调世界时格式化。 在这个可选字符项之后, 如果 format 为字符串 "t", date 返回有后续域的表: year (四位数字),month (1–12),day (1–31), hour (0–23),min (0–59),sec (0–61), wday (星期几,星期天为 1 ), yday (当年的第几天), 以及isdst (夏令时标记,一个布尔量)。 对于最后一个域,如果该信息不提供的话就不存在。

如果 format 并非 "t", date 以字符串形式返回, 格式化方法遵循 ISO C 函数 strftime 的规则。

如果不传参数调用, date 返回一个合理的日期时间串, 格式取决于宿主程序以及当前的区域设置 (即,osdate() 等价于 osdate("%c"))。

在非 POSIX 系统上, 由于这个函数依赖 C 函数 gmtime 和 localtime, 它可能并非线程安全的。

感谢:>

print一下就看出来了:\x0d\> print(ostime())\x0d\1337060663\x0d\> print(osdate())\x0d\05/15/12 13:44:30\x0d\\x0d\ostime返回的是从1970年x月x日到现在经过的秒数,osdate返回的是按照一定格式输出的日期字符串或table。

以上就是关于lua 时间的转换处理全部的内容,包括:lua 时间的转换处理、Lua遍历table、求 lua 语言如何根据当天日期计算农历日期,以及农历节气、节日计算方法。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9508938.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存