我有一个下面的值,例如“时间戳”,其中最后三位数字对应毫秒。
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 的未来版本中删除。