123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # encoding: utf-8
- """
- Timezone utilities
- Just UTC-awareness right now
- """
- #-----------------------------------------------------------------------------
- # Copyright (C) 2013 The IPython Development Team
- #
- # Distributed under the terms of the BSD License. The full license is in
- # the file COPYING, distributed as part of this software.
- #-----------------------------------------------------------------------------
- #-----------------------------------------------------------------------------
- # Imports
- #-----------------------------------------------------------------------------
- from datetime import tzinfo, timedelta, datetime
- #-----------------------------------------------------------------------------
- # Code
- #-----------------------------------------------------------------------------
- # constant for zero offset
- ZERO = timedelta(0)
- class tzUTC(tzinfo):
- """tzinfo object for UTC (zero offset)"""
- def utcoffset(self, d):
- return ZERO
- def dst(self, d):
- return ZERO
- UTC = tzUTC() # type: ignore[abstract]
- def utc_aware(unaware):
- """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
- def utc_method(*args, **kwargs):
- dt = unaware(*args, **kwargs)
- return dt.replace(tzinfo=UTC)
- return utc_method
- utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
- utcnow = utc_aware(datetime.utcnow)
|