如何将以毫秒为单位的时间转换为DateTime

本文关键字:时间 转换 DateTime 为单位 | 更新日期: 2023-09-27 18:04:21

关于这个主题有很多想法,但这一个是关于Win32/WinEventProc的dwmseventime。

MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/dd373885(v=vs.85).aspx声明它是以毫秒为单位的事件时间,但没有提供进一步的解释。从哪里毫秒?

下面是该事件返回的样例值:

dwmsEventTime: 1209382650 
DateTime.Now:  05/21/2014 16:49:37  (this should be very close to dwmsEventTime)

有人知道如何将这个参数转换为。net DateTime()吗?

如何将以毫秒为单位的时间转换为DateTime

您可以尝试这样做:

static DateTime GetDateTimeFromMillisecondNumber(int millisecCount)
{
  return DateTime.Now.AddMilliseconds(millisecCount - Environment.TickCount);
}

但是要注意,如果系统在获得millisecCount后重新启动,则返回垃圾。如果在不同的机器上运行,则相同。

同样,这只是正确的"对49.7天取模",即正确的日期和时间可能是49.7天的整数倍,大于或小于我的方法返回的值。