如何填充SYSTEMTIME值?

时间:2008-11-13 13:27:25

标签: windows-mobile systemtime

在原生C ++应用程序的Windows Mobile上(但我想在Windows上也是如此),我该如何正确设置SYSTEMTIME结构?假设我有

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

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

嗯...

可能首先构造一个FILETIME,然后调用FileTimeToSystemTime?

FILETIME的信息
http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx

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

答案 2 :(得分:0)

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

但真正的解决方案取决于你拥有的日期和获得它的地点。 与其他人一样,可能更容易将其转换为文件时间,然后生成系统时间。