关于这个主题有很多想法,但这个是关于Win32 / WinEventProc的dwmsEventTime。
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()?
答案 0 :(得分:2)
您可以尝试以下方式:
static DateTime GetDateTimeFromMillisecondNumber(int millisecCount)
{
return DateTime.Now.AddMilliseconds(millisecCount - Environment.TickCount);
}
但请注意,如果系统是从获得millisecCount
后重启的,则会返回垃圾。如果它在与您获得计数的机器不同的机器上运行,则相同。
此外,这只是正确的"模49.7天",即正确的日期和时间可能是49.7天的整数倍,大于或小于我的方法返回的值。