4

在本机 C++ 应用程序中的 Windows Mobile(但我猜在 Windows 上是一样的)上,我将如何正确设置 SYSTEMTIME 结构?假设我有

int year, month, dayOfMonth, hour, minute, second;

我显然应该设置 SYSTEMTIME 结构的 wHour、wYear 等成员,但是在这种情况下 wDayOfWeek 会发生什么,我宁愿也正确设置它。我已经查看但未在 MSDN 中找到任何允许我填充 SYSTEMTIME 结构的函数,在该结构中将为我计算 wDayOfWeek 成员。我错过了什么或者我该怎么做?

4

3 回答 3

4

您可以填写您知道的字段,然后转换为变体时间并返回。

这可能会填补缺失的数据。

于 2008-11-13T14:52:28.727 回答
1

唔...

也许首先构造一个FILETIME,然后调用FileTimeToSystemTime?

文件时间信息
http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx

或者,首先构造一个 VT_TIME 的 VARIANT,然后调用 VariantTimeToSystemTime。 http://msdn.microsoft.com/en-us/library/ms221440.aspx

于 2008-11-13T13:32:24.553 回答
1

一些谷歌搜索发现你需要使用世界末日规则来解决这个问题。下面的链接中有一些 c++ 示例和更多信息。

但真正的解决方案取决于您拥有什么日期以及从哪里获得它。就像其他人所说的那样,将其转换为文件时间然后生成系统时间可能更容易。

于 2008-11-13T15:23:11.770 回答