def _calculate_gregorian_offset(): local_epoch = _mktime((1970, 1, 1, 0, 0, 0, 0, 0, 0)) local_epoch_anniversary = _mktime((1971, 1, 1, 0, 0, 0, 0, 0, 0)) local_october_15th = _mktime((1970, 10, 15, 0, 0, 0, 0, 0, 0)) seconds_per_year = local_epoch_anniversary - local_epoch return ((long(1970 - 1582) * long(seconds_per_year)) + long(local_october_15th))
def __init__(self, obj, micro_second=0): if isinstance( obj, _DateTimeStamp ): self._mktime = _mktime( TOSDB_DateTime._to_struct_time( obj ) ) elif isinstance( obj, _struct_time ): self._mktime = _mktime(obj) elif isinstance( obj, TOSDB_DateTime): self._mktime = obj._mktime else: raise TOSDB_DateTimeError( "invalid 'object' passed to __init__" )
def __init__(self, obj, micro_second=0): if isinstance(obj, _DateTimeStamp): self._mktime = _mktime(TOSDB_DateTime._to_struct_time(obj)) elif isinstance(obj, _struct_time): self._mktime = _mktime(obj) elif isinstance(obj, TOSDB_DateTime): self._mktime = obj._mktime else: raise TOSDB_DateTimeError("invalid 'object' passed to __init__")
def utcoffset(self, dt): """datetime -> minutes east of UTC (negative for west of UTC).""" tt = _localtime( _mktime((dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.weekday(), 0, -1))) if tt.tm_isdst > 0: return _dstoffset return _stdoffset
def dst(self, dt): """datetime -> DST offset in minutes east of UTC.""" tt = _localtime( _mktime((dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.weekday(), 0, -1))) if tt.tm_isdst > 0: return _dstdiff return _zero
def datetime2timestamp(cls, m_datetime): '''datetime (python object) ==> timestamp - timestamp indicate miliseconds from 1970/01/01 08:00:00 ''' from time import mktime as _mktime t = _mktime(m_datetime.timetuple()) return float(t*1000.0) + m_datetime.microsecond/1000.0
def _intervals_since_epoch(self, second, minute, hour, day, month, year): is_dst = self._tfunc().tm_isdst sfe = _mktime( _struct_time( [year, month, day, hour, minute, second, 0, 0, is_dst])) if sfe % self._isec: raise TOSDB_Error("invalid interval constructed") return int(sfe // self._isec)
def datetime_to_time(date, time): """Take the date and time 4-tuples and return the time in seconds since the epoch as a floating point number.""" if (255 in date) or (255 in time): raise RuntimeError("specific date and time required") time_tuple = ( date[0]+1900, date[1], date[2], time[0], time[1], time[2], 0, 0, -1, ) return _mktime(time_tuple)
def mktime(t9): """ Call L{_mktime}, and if it raises L{OverflowError}, catch it and raise SkipTest instead. @param t9: A time as a 9-item tuple. @type t9: L{tuple} @return: A timestamp. @rtype: L{float} """ try: return _mktime(t9) except OverflowError: raise SkipTest( "Platform cannot construct time zone for {0!r}" .format(t9) )
def tzname(self, dt): """datetime -> string name of time zone.""" tt = _localtime(_mktime((dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.weekday(), 0, -1))) return _time.tzname[tt.tm_isdst > 0]
def _gettimeofday(): d=_now() return int(_mktime(d.timetuple())),d.microsecond
def _intervals_since_epoch(self, second, minute, hour, day, month, year): is_dst = self._tfunc().tm_isdst sfe = _mktime(_struct_time([year,month,day,hour,minute,second,0,0,is_dst])) if sfe % self._isec: raise TOSDB_Error("invalid interval constructed") return int(sfe // self._isec)
def _gettimeofday(): d = _now() return int(_mktime(d.timetuple())), d.microsecond
def _calculate_gregorian_offset(): local_epoch = _mktime((1970, 1, 1, 0, 0, 0, 0, 0, 0)) local_epoch_anniversary = _mktime((1971, 1, 1, 0, 0, 0, 0, 0, 0)) local_october_15th = _mktime((1970, 10, 15, 0, 0, 0, 0, 0, 0)) seconds_per_year = local_epoch_anniversary - local_epoch return (long(1970 - 1582) * long(seconds_per_year)) + long(local_october_15th)