示例#1
0
文件: zoneinfo.py 项目: abalkin/tz
 def __new__(cls, posix_rules):
     self = _tzinfo.__new__(cls)
     self.tzstr = posix_rules
     r = posix_rules.strip().split(',')
     self.offset, self.abbrs, dst_offset = parse_std_dst(r[0])
     if dst_offset is not None:
         self.dst_save = dst_offset - self.offset
     if len(r) > 2:
         self.dst_start = parse_mnd_time(r[1])
         self.dst_end = parse_mnd_time(r[2])
     return self
示例#2
0
文件: zoneinfo.py 项目: abalkin/tz
 def __new__(cls, tz=None, *args):
     if not isinstance(tz, str):
         return _tzinfo.__new__(cls)
     try:
         return cls.cache[tz]
     except KeyError:
         pass
     try:
         return PosixRules(tz)
     except ValueError:
         return cls.m_get(tz)
示例#3
0
文件: Time.py 项目: arlm/dpjudge
	def __new__(self, zone = None):
		if self.adding: return tzinfo.__new__(self)
		try:
			if 'zone' in vars(zone): return zone
		except: pass
		if not self.zones:
			self.adding = 1
			self.zones = {'GMT': TimeZone('GMT')}
			zoneFile = open(host.zoneFile)
			for line in zoneFile:
				word = line.strip().split()
				if word and word[0][0] != '#':
					self.zones[word[2].upper()] = TimeZone(word[2])
			zoneFile.close()
			self.adding = None
		if not zone: zone = host.timeZone or 'GMT'
		zone = zone.upper()
		if zone in self.zones: return self.zones[zone]
		for zoneInfo in self.zones.values():
			if zoneInfo.tzname().upper() == zone: return zoneInfo
		return None
示例#4
0
 def __new__(self, zone=None):
     if self.adding: return tzinfo.__new__(self)
     try:
         if 'zone' in vars(zone): return zone
     except:
         pass
     if not self.zones:
         self.adding = 1
         self.zones = {'GMT': TimeZone('GMT')}
         zoneFile = open(host.zoneFile)
         for line in zoneFile:
             word = line.strip().split()
             if word and word[0][0] != '#':
                 self.zones[word[2].upper()] = TimeZone(word[2])
         zoneFile.close()
         self.adding = None
     if not zone: zone = host.timeZone or 'GMT'
     zone = zone.upper()
     if zone in self.zones: return self.zones[zone]
     for zoneInfo in self.zones.values():
         if zoneInfo.tzname().upper() == zone: return zoneInfo
     return None
示例#5
0
 def _create(cls, offset, name=None):
     self = tzinfo.__new__(cls)
     self._offset = offset
     self._name = name
     return self
示例#6
0
 def _create(cls, offset, name=None):
   self = tzinfo.__new__(cls)
   self._offset = offset
   self._name = name
   return self
示例#7
0
文件: DateTime.py 项目: rsms/smisk
 def __new__(cls):
   try:
     return cls._instance
   except AttributeError:
     cls._instance = tzinfo.__new__(UTCTimeZone)
   return cls._instance