Time 使用Lua脚本读取PCAP文件

Time 使用Lua脚本读取PCAP文件,time,lua,pcap,Time,Lua,Pcap,我有一个Lua脚本来读取PCAP文件。对于一个包,我可以通过表达式得到它的时间 os.date("%Y/%m/%d %X", last_pinfo.abs_ts) 结果类似于“2012/05/24 11:32:50”,但我希望结果类似于“2012年5月24日11:32:50.476690000”。这可能吗?Lua的os.date的格式与C的函数相同 然而,标准Lua中的时间精确到秒。您必须添加来自另一个来源的秒的小数部分,例如LuaSocket的: 您可以从LuaSocket中的socket.

我有一个Lua脚本来读取PCAP文件。对于一个包,我可以通过表达式得到它的时间

os.date("%Y/%m/%d %X", last_pinfo.abs_ts)

结果类似于“2012/05/24 11:32:50”,但我希望结果类似于“2012年5月24日11:32:50.476690000”。这可能吗?

Lua的
os.date的格式与C的函数相同

然而,标准Lua中的时间精确到秒。您必须添加来自另一个来源的秒的小数部分,例如LuaSocket的:


您可以从LuaSocket中的socket.gettime()获得亚秒精度的时间。谢谢,调整了,调整了我的答案以包含您的建议!非常感谢。我不知道lua中有一个模块插座。这真的很有帮助。但我还有一个问题,当我使用socket.gettime()时,我如何知道我正在读取哪个数据包?在我的代码中,我有“pinfo”来表示我需要的数据包。但是对于“socket”,我不确定。使用socket.gettime()的只是获取机器上的当前时间。您可以格式化时间变量中的任何内容,无论您在何处获得它。它只需要在几秒钟内完成。从您的示例代码判断,您应该使用
last\u pinfo.abs\ts
Ok,我明白了。非常感谢你。
require 'socket'
time=socket.gettime()
print(os.date("%B %d, %Y %H:%M:%S")..select(2,math.modf(time),time)