我有日期字符串,如2009-02-28 15:40:05 AEDST並希望將其轉換爲SYSTEMTIME結構。到目前爲止,我有:如何使用win32 API在時區之間進行轉換?
SYSTEMTIME st;
FILETIME ft;
SecureZeroMemory(&st, sizeof(st));
sscanf_s(contents, "%u-%u-%u %u:%u:%u",
&st.wYear,
&st.wMonth,
&st.wDay,
&st.wHour,
&st.wMinute,
&st.wSecond);
// Timezone correction
SystemTimeToFileTime(&st, &ft);
LocalFileTimeToFileTime(&ft, &ft);
FileTimeToSystemTime(&ft, &st);
但是我的本地時區不是AEDST。所以我需要能夠在轉換爲UTC時指定時區。
不幸的是,你不能用win32 API來做到這一點...查看http://msdn.microsoft.com/en-us/library/ms725481(VS.85).aspx 你或者需要創建一個空變量並手動填寫,或使用標準的C時間庫。 – uzbones 2009-02-28 05:48:25