在Windows Mobile (但我猜在Windows上也是一样)的原生C++应用程序中,我该如何正确设置SYSTEMTIME结构?假设我有
int year, month, dayOfMonth, hour, minute, second;显然,我应该设置SYSTEMTIME结构的wHour、wYear等成员,但在这种情况下wDayOfWeek会发生什么情况,我更希望将其正确设置。我已经在MSDN中找到了任何允许我填充SYSTEMTIME结构的函数,在该结构中将为我计算wDayOfWeek成员。我是不是漏掉了什么,或者我该怎么做呢?
发布于 2008-11-13 14:52:29
你可以填写你知道的字段,然后转换成不同的时间,然后再转换回来。
这可能会填补缺失的数据。
发布于 2008-11-13 13:32:25
嗯..。
也许首先构造一个FILETIME然后调用FileTimeToSystemTime?
关于FILETIME的信息
http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx
或者,首先构建VT_TIME的变体,然后构建callVariantTimeToSystemTime。http://msdn.microsoft.com/en-us/library/ms221440.aspx
发布于 2008-11-13 15:23:12
一些谷歌搜索结果表明,你需要使用末日法则来解决这个问题。下面的链接中有一些c++示例和更多信息。
但真正的解决方案取决于你的日期和你从哪里得到的日期。正如其他人所说,将其转换为文件时间,然后生成系统时间可能会更容易。
https://stackoverflow.com/questions/286897
复制相似问题