unsigned int DateTime::ToInt() const { struct tm tmTemp; if (GetStatus() == valid && TmFromOleDate(dt_, tmTemp)) { tmTemp.tm_year -= 1900; tmTemp.tm_mon -= 1; time_t rawTime = _mkgmtime64(&tmTemp); int err = GetLastError(); if (rawTime == -1) return 0; return (unsigned int) rawTime; } else { ErrorManager::Instance()->ReportError(ErrorManager::High, 5160, "DateTime::ToInt()", "Tried to convert non-date to integral representation."); return 0; } }
__time64_t CCookie::GetUTCTime(tm& t, int iSecondOffsetTZ) { __time64_t v = _mkgmtime64(&t); if(v >= 0) v -= iSecondOffsetTZ; return v; }
_rrTime _rrTime::convertStatFileTime(const time_t &tim) { if (rrTime_Start_OffSet==-1) testIfOfsetIsRight(true); _rrTime ret; ret.value=tim; tm conv1; ret.to_tm(conv1); ret.value=_mkgmtime64(&conv1)-rrTime_Start_OffSet; return ret; }
bool MCS_datetimetoseconds(const MCDateTime& p_datetime, double& r_seconds) { struct tm t_universal_tm; datetime_to_tm(false, p_datetime, t_universal_tm); __time64_t t_universal_time; t_universal_time = _mkgmtime64(&t_universal_tm); if (t_universal_time == -1) return false; r_seconds = (double)t_universal_time; return true; }
__time64_t CLogCacheStatistics::GetTime (FILETIME& fileTime) { SYSTEMTIME systemTime = { 0 }; FileTimeToSystemTime (&fileTime, &systemTime); tm time = {0,0,0, 0,0,0, 0,0,0}; time.tm_year = systemTime.wYear - 1900; time.tm_mon = systemTime.wMonth - 1; time.tm_mday = systemTime.wDay; time.tm_hour = systemTime.wHour; time.tm_min = systemTime.wMinute; time.tm_sec = systemTime.wSecond; return _mkgmtime64 (&time)*1000000 + systemTime.wMilliseconds * 1000; }
bool MCS_datetimetolocal(MCDateTime& x_datetime) { struct tm t_universal_datetime; datetime_to_tm(false, x_datetime, t_universal_datetime); __time64_t t_time; t_time = _mkgmtime64(&t_universal_datetime); if (t_time == -1) return false; struct tm t_local_tm; _localtime64_s(&t_local_tm, &t_time); tm_to_datetime(true, t_local_tm, x_datetime); return true; }
static time_t time_from_tm(struct tm *t) { #if HAVE_TIMEGM /* Use platform timegm() if available. */ return (timegm(t)); #elif HAVE__MKGMTIME64 return (_mkgmtime64(t)); #else /* Else use direct calculation using POSIX assumptions. */ /* First, fix up tm_yday based on the year/month/day. */ if (mktime(t) == (time_t)-1) return ((time_t)-1); /* Then we can compute timegm() from first principles. */ return (t->tm_sec + t->tm_min * 60 + t->tm_hour * 3600 + t->tm_yday * 86400 + (t->tm_year - 70) * 31536000 + ((t->tm_year - 69) / 4) * 86400 - ((t->tm_year - 1) / 100) * 86400 + ((t->tm_year + 299) / 400) * 86400); #endif }