コード例 #1
0
   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;
      }

   }
コード例 #2
0
ファイル: HttpCookie.cpp プロジェクト: ldcsaa/HP-Socket
__time64_t CCookie::GetUTCTime(tm& t, int iSecondOffsetTZ)
{
	__time64_t v = _mkgmtime64(&t);
	if(v >= 0) v -= iSecondOffsetTZ;

	return v;
}
コード例 #3
0
_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;
}
コード例 #4
0
ファイル: w32date.cpp プロジェクト: alilloyd/livecode
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;
}
コード例 #5
0
__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;
}
コード例 #6
0
ファイル: w32date.cpp プロジェクト: alilloyd/livecode
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;
}
コード例 #7
0
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
}