在原生C ++应用程序的Windows Mobile上(但我想在Windows上也是如此),我该如何正确设置SYSTEMTIME结构?假设我有
int year, month, dayOfMonth, hour, minute, second;
我显然应该设置SYSTEMTIME结构的wHour,wYear等成员,但是在这种情况下wDayOfWeek会发生什么,我宁愿也正确设置。我已经查看但没有在MSDN中找到任何允许我填充SYSTEMTIME结构的函数,其中将为我计算wDayOfWeek成员。我错过了什么或者我会怎么做?
答案 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 ++示例和更多信息。
但真正的解决方案取决于你拥有的日期和获得它的地点。 与其他人一样,可能更容易将其转换为文件时间,然后生成系统时间。