gpt4 book ai didi

vala:这是以毫秒为单位获取当前时间的正确方法吗?

转载 作者:行者123 更新时间:2023-12-04 22:47:13 27 4
gpt4 key购买 nike

将此库与 Vala 一起使用:

http://valadoc.org/#!api=glib-2.0/GLib.DateTime

    GLib.DateTime now = new GLib.DateTime.now_local();

var sec = now.to_unix()
var msec = (sec * 1000) + now.get_microsecond();

这是以毫秒为单位获取当前时间的正确方法吗?

有没有更好的办法 ?

最佳答案

GLib.DateTime 是执行此操作的有效方法,并且您请求本地时间然后将其转换为 unix 时间(隐式转换为 UTC)有点奇怪。但是,真正的问题是您将毫秒(1/1000 秒)和微秒(1/1000000 秒)混为一谈。所以将最后一行更改为

var msec = (sec * 1000) + (now.get_microsecond () / 1000);

或者,更简单的方法是使用 GLib.get_real_time :
int64 msec = GLib.get_real_time () / 1000;

根据您的用例,您可能需要考虑使用单调时间而不是实时时间(请参阅 GLib.get_monotonic_time

关于vala:这是以毫秒为单位获取当前时间的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467849/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com