我在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;
});
}
答案 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;