我创建了一个软件,其中时间非常重要。因为每次传输一些数据,我也会在win ce设备上设置时间。我转移槽插座DateTime.Now.Ticks和设置时间与无法在Win CE设备上设置时间
[的DllImport( “coredll.dll中”)]私有外部静态UINT SetSystemTime(参照SYSTEMTIME lpSystemTime);
时区在PC上正确设置为GMT + 1,其中服务器应用程序正在运行以及设备上。设备上的HomeDST为0。
我的问题是,总有我的软件在操作系统时间和时间之间有一个小时的时差。我检索时间使用
[的DllImport( “coredll.dll中”)]私有外部静态无效 GetSystemTime(参照SYSTEMTIME lpSystemTime);
因此,例如在设备的右上角我看到9:12,比在应用程序8:12。
不要有任何人对此的解释/解决方案?这将是非常有益的,因为应用程序已可惜的活系统中使用,这一个使一个巨大的问题......
和GetSystemTime还检索它作为UTC,所以我有一个问题...所以我只是通过时区进行调整,这将是确定。谢谢! – HoGo 2013-03-13 16:06:36
对不起,我没有答案,因为问题仍然存在......甚至我使用UTC时间并设置它,而不是使用GetSystemTime取回,我少了一个小时。这两个函数都应该与UTC时间一起工作,但是我从GetSystemTime获得与SetSystem时间设置不同的时间。在第二次调用SetSystemTime时,它有时会再次正确。 – HoGo 2013-03-13 18:55:35
必须纠正一下。从我的观点来看,这完全搞砸了。在完成SetSystemTime之后,我立即用GetSystemTime得到相同的UTC时间,但几秒钟后,GetSystemTime调用的结果发生了改变,并且它少了一个小时。 – HoGo 2013-03-13 19:06:19