我在C' C'我发现需要从数据包中读取8个字节的时间戳。
我正在尝试以下代码:
g_print("offset=%d, starttime=0x%08x\n", offset, tvb_get_letoh64(tvb, offset));
我得到了:
offset=8, starttime=0x0362ea14
这只是我期待的8个字节中的4个字节。
我如何阅读它以便输出:
offset=8, starttime=0x14ea620305779840
我也试过用它来阅读:
g_print("offset=%d, starttime=0x%08x\n", offset, tvb_get_bits64(tvb, 64, 32, ENC_LITTLE_ENDIAN));
g_print("offset=%d, starttime=0x%08x\n", offset, tvb_get_bits64(tvb, 64, 64, ENC_LITTLE_ENDIAN));
它打印了时间戳的4个第一个字节,第二个调用打印了最后4个字节。我错过了一些非常基本的东西......
第二个问题,好吧,让我们假设我得到了正确的值并将其转换为nstime_t,我如何将其格式化为Date \ time格式,如:
YYYY-MM-DDZHH:MM:SS:MMMM
非常感谢你!
答案 0 :(得分:2)
你得到什么输出?
g_print("offset=%d, starttime=0x%08lx\n", offset, tvb_get_letoh64(tvb, offset));
至于你的第二个问题,这8个字节是什么意思?也许您可以使用FT_ABSOLUTE_TIME
声明您的hf变量,并使用类似proto_tree_add_time()
,proto_tree_add_time_item()
,proto_tree_add_time_format_value()
或proto_tree_add_time_format()
的内容?