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

问题描述 投票:0回答:1

我在我的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;
    });
}
windows-phone-7 unix timestamp
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.