mktime がWindows Server 2008 R2 SP1 で -1 を返す
下記のよなPGで現在時間の総経過時間を秒単位で計算しています。
アプリケーションは32bitで作成して64bitマシンで動かしています。
Windows7 64bit 環境では正しく計算されますが、
Windows Server 2008 R2 SP1 64bit環境では -1を返してしまします。
なにか問題なのかさっぱりわからなくて困っています。
INT64 CDummyPG::totalsec(int iyear, int imonth, int iday, int ihour, int imin, int isec)
{
INT64 nSecond = 0;
time_t timeSecond = 0;
tm tmTmp;
//year
tmTmp.tm_year = iyear - _BEGIN_YEAR; // 1900 年以降の時間を計算
//month
tmTmp.tm_mon = imonth - 1;
//day
tmTmp.tm_mday = iday;
//hour
tmTmp.tm_hour = ihour;
//minute
tmTmp.tm_min = imin;
//Second
tmTmp.tm_sec = isec;
timeSecond = mktime(const_cast<tm *>(&tmTmp));
return INT64(timeSecond);
}
time.inlプレビュー
static __inline time_t __CRTDECL mktime(struct tm * _Tm)
{
return _mktime64(_Tm);
}
よろしくお願いします。