我把链接发到你消息里面了。
下载完成后把lua程序解压到任意文件夹假设是
d:\lua。
然后再修改系统环境变量path
在里面添加一个d:\lua
用分号与其他路径隔开。如何修改win环境变量你到网上搜搜。
随后你启动dos
输入
lua52
abclua
就可以启动lua解释器了。
然后你修改lua为扩展名的文件的打开方式,找到这个程序。
你双击lua文件也能执行了。
这个指定时间执行的一般用windows下的调度计划,或者linux下的cron吧。
lua本身不支持sleep函数,os库可以获取时间。如果要支持sleep函数可以先获取时间,然后sleep到指定的时间再执行。这个sleep可以有多种实现,比如用system执行一些命令行里可以延时的,或者调用c扩展之类的。参考一下 >
用ffi
local ffi = require("ffi")
fficdef[[
struct timeval {
long int tv_sec;
long int tv_usec;
};
int gettimeofday(struct timeval tv, void tz);
]];
local tm = ffinew("struct timeval");
function NewTimeKey()
ffiCgettimeofday(tm,nil);
local sec = tonumber(tmtv_sec);
local usec = tonumber(tmtv_usec);
return sec + usec 10^-6;
end
long currentTimeMillis = SystemcurrentTimeMillis();
DateFormat format = new SimpleDateFormat("yyyyMMddHHmm");
Date dDate = null;
try {
dDate = formatparse(StringvalueOf(currentTimeMillis));
} catch (ParseException e) {
eprintStackTrace();
}
DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format2format(dDate);
Systemoutprintln(time);
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, 它可能并非线程安全的。
感谢:>
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脚本里的。我是这么使用的。
参考方法如下:
local str1 = "12:36:28"
local str2 = "14:38:45"
local h1,m1,s1 = stringmatch(str1,"(%d+):(%d+):(%d+)")
local h2,m2,s2 = stringmatch(str2,"(%d+):(%d+):(%d+)")
local time1 = h1 3600 + m1 60 + s1
local time2 = h2 3600 + m2 60 + s2
print(time2 - time1)
得出的是 相差多少秒 除3600就是多少小时啦
以上就是关于如何确定在使用Lua脚本的执行时间全部的内容,包括:如何确定在使用Lua脚本的执行时间、Lua怎么写一个到某个时间执行的语句、lua程序调用系统时间-微秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)