Spaces:
Runtime error
Runtime error
# 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) | |