为什么COleDateTime 格式时间 转 struct tm 结构时间会增加一个月 ?
void CO2TDlg::OnButton1() 
{
struct tm tmChange;
COleDateTime  rhs; time_t aclock;
time( &aclock );                 /* Get time in seconds */
rhs = COleDateTime(aclock);
//aclock=1037765859,时间为 2002/11/20 12:17:39 tmChange.tm_year = rhs.GetYear() - 1900; 
tmChange.tm_mon = rhs.GetMonth();
tmChange.tm_mday = rhs.GetDay();
tmChange.tm_hour = rhs.GetHour();
tmChange.tm_min = rhs.GetMinute();
tmChange.tm_sec = rhs.GetSecond();
//tmChange 为 2002/11/20 12:17:39 (北京时间)
time_t ttm = mktime(&tmChange);
//ttm =1040357859  时间加了一个月(理论上应该为1037765859=aclock)
int i1= tmChange.tm_year ; 
int i2= tmChange.tm_mon;
int i3= tmChange.tm_mday ;
int i4= tmChange.tm_hour;
int i5= tmChange.tm_min ;
int i6= tmChange.tm_sec;
//tmChange 还是为 2002/11/20 12:17:39 tmChange = * gmtime(&ttm);
//tmChange 为 2002/11/20 4:17:39   (格林时间) int i11= tmChange.tm_year ; 
int i12= tmChange.tm_mon;
int i13= tmChange.tm_mday ;
int i14= tmChange.tm_hour;
int i15= tmChange.tm_min ;
int i16= tmChange.tm_sec;
ttm = mktime(&tmChange);
//ttm 还是1040357859,没有增加一个月(减了几小时间因为格林时间)
tmChange = * gmtime(&ttm);
ttm = mktime(&tmChange);
//ttm 还是1040300259,没有增加一个月(减了几小时间因为格林时间)

}