我的時區在控制面板日期/時間小程序中設置爲CDT
。爲什麼_localtime32和_gmtime32爲非GMT時區返回相同的時間值?
下面的代碼的地方一模一樣的日期和時間爲pCurGmtTime
和pCurTime
:
int main(int argc, char *argv[])
{
__time32_t t=_time32(NULL);
tm *pCurGmtTime=_gmtime32(&t);
tm *pCurTime=_localtime32(&t);
// The values in the *pCurGmtTime structure are equal to the values in *pCurTime
return 0;
}
我沒有TZ
環境變量設置,但我的時區是通過控制正確的配置系統面板日期和時間小程序。這種行爲似乎違背了這些功能的MSDN文檔,其中說TZ
覆蓋控制面板設置,但如果它不存在,將使用控制面板設置。
由於
hamstergene首先回答,所以他會得到複選標記,但我給了你+1,因爲你提供了關於如何通過_s函數首先避免問題的更多細節。 – 2012-03-16 14:17:32
這是你的選擇。我可能會提到花費額外的45秒來提供更完整的答案......然後真正快速地修改它來修正錯字。 – 2012-03-16 14:21:29
這太糟糕了,無法授予多個複選標記,但我可以看到這將導致濫用行爲......如果有任何安慰,我還有另一個相關問題,我將要問,因此您可以觀察它。 – 2012-03-16 14:27:14