如何从时间戳创建 GLib.TimeVal?

如何从时间戳创建 GLib.TimeVal?

我有一个下面的值,例如“时间戳”,其中最后三位数字对应毫秒。

timestamp = 1340830988768

我目前有如下代码:

import indicate
indicator = indicate.Indicator()
indicator.set_property_time("time", int(timestamp[:-3]))

我想修改它以使用:

from gi.repository import Indicate
indicator = Indicate.Indicator()

但是,新版本的set_property_time要求第二个参数为GLib.TimeVal。如何GLib.TimeVal根据我的时间戳创建一个?毫秒精度对于此应用程序并不重要。

答案1

这是我想到的,也许有帮助:

>>> from gi.repository import GLib, Indicate
>>> timestamp = '1340830988768'
>>> indicator = Indicate.Indicator()
>>> timeval = GLib.TimeVal()
>>> timeval.tv_sec = int(timestamp[:-3])
>>> indicator.set_property_time("time", timeval)
>>>

请注意本节在 GLib 参考手册中:

GLib 正在尝试统一使用 64 位整数来表示微秒精度的时间。因此,此类型将从 GLib 的未来版本中删除。

相关内容