我希望获得与MFC中当前系统时间相关的UTC或GMT时间。我已尝试使用CTime的GetGmtTm(),如下所示
struct tm* osTime=NULL;
tm t1 = *(currenttime.GetGmtTm( osTime ));
CTime currentUTCTime(1900+t1.tm_year, t1.tm_mon+1, t1.tm_mday, t1.tm_hour, t1.tm_min, t1.tm_sec, t1.tm_isdst);
CTimeSpan ts = currentUTCTime - oldtime; //oldtime points to Unix Epoch 1/1/1970 00:00:00
unsigned long time = ts.GetTotalSeconds( );//to get the Unix time
但它没有按预期正常工作。对于像(GMT + 6.00)阿斯塔纳,达卡这样的时区,它以12小时的差异获得UTC时间。
有人可以帮我解决问题吗?
非常感谢提前:)
答案 0 :(得分:2)
CTime::GetTime()
返回unixtime - 这始终表示为自纪元以来的秒数(定义为UTC / GMT时间)。