【发布时间】:2011-03-02 08:35:07
【问题描述】:
如果提供了日期(月-日-年),是否可以使用 SYSTEMTIME 确定星期几,或者这种结构仅单向?
如果SYSTEMTIME不能做到(使用Win32),完成我所问的最轻量级的方法是什么?
【问题讨论】:
标签: c++ winapi systemtime
如果提供了日期(月-日-年),是否可以使用 SYSTEMTIME 确定星期几,或者这种结构仅单向?
如果SYSTEMTIME不能做到(使用Win32),完成我所问的最轻量级的方法是什么?
【问题讨论】:
标签: c++ winapi systemtime
使用 SystemTimeToFileTime 将 SYSTEMTIME 转换为 FILETIME。然后使用 FileTimeToSystemTime 将其转换为带有星期几的 SYSTEMTIME。
【讨论】:
根据msdn,将SYSTEMTIME 转换为FILETIME 时会忽略wDayOfWeek 成员。转换回来的时候是填的。
SYSTEMTIME t = { 2010, 6, -1 /*ignored*/, 11 };
FILETIME ft;
HRESULT hrto = SystemTimeToFileTime( &t, &ft );
HRESULT hrback = FileTimeToSystemTime( &ft, &t );
WORD dayofweek = t.wDayOfWeek;
【讨论】: