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