在.NET上设置设备时间CF

在.NET上设置设备时间CF

问题描述:

寻找一个采用.NET CF DateTime对象的代码示例,并将设备的日期和时间设置为该日期(和/或时区)。这样做的目的是通过Web服务从服务器获取当前“真实”时间,并正确设置设备的时间。在.NET上设置设备时间CF

以前有人做过这个吗?

您可以使用Opennetcf的DateTimeHelper类。

或者,您可以p/invoke SetLocalTime

关于kgiannakakis'答案:绝对是要走的路,但如果您不想要求整个OpenNETCF运行时DLL只是设置时间,请将源代码下载到1.4版本的库中(有更新的但是源代码在v1.4之上并不是免费提供的),并且只需提取DateTimeHelper类(您可​​能还需要拉取一些依赖关系)。然后将其直接编译到您的代码中......这将为您节省不必要的外部文件。

P /调用SetSystemTime()是更好的选择,尤其是当设备与服务器位于不同的时区时。但是,Windows Mobile 5中似乎存在一个错误,它无法正确处理夏令时,所以有时使用SetSystemTime在设备上设置的时间会关闭一个小时。

+0

您需要调用SetLocalTime()两次。在呼叫之间添加500 ms的延迟,然后正确设置DST值。 – Bryan 2010-05-06 20:23:23

+0

真的吗?这有效吗? – MusiGenesis 2010-05-07 01:09:10