接收Unix时间戳并将时间转换为毫秒WP7

时间:2011-12-14 21:55:22

标签: windows-phone-7 unix timestamp

我在wp7应用程序中收到一个unix时间戳,我想把它转换为毫秒..

我做到了:

time.Ticks / 10000;

这是对的吗?这给出了以毫秒为单位的总时间或仅以毫秒为单位?

我想要总时间(以毫秒为单位)..

我的方法是得到时间:

void _ntpClient_TimeReceived(object sender, NtpClient.TimeReceivedEventArgs e)
{
    this.Dispatcher.BeginInvoke(() =>
    {
        DateTime time = e.CurrentTime;

        long milliseconds = time.Ticks / 10000;
    });
}

1 个答案:

答案 0 :(得分:1)

Unix通常将时间存储为秒,或者包含秒和微秒的struct timespec以进一步提高精度。引用日期时,它是自1970年1月1日以来经过的秒数(或秒和微秒)。

然而,这些从不称为“滴答声”。 “Ticks”通常指的是Windows / .NET样式时间单位 - “tick”等于100纳秒。在提及日期时,它是自0001年1月1日以来已经过的百纳秒单位数。

如果你有一个带有“ticks”的对象,那么是的,简单地除以10000会将单位转换为毫秒。或者,您可以使用TimeSpan

TimeSpan ts = new TimeSpan(ticks);
millis = ts.TotalMilliseconds;
相关问题