jupyter
This commit is contained in:
46
packages/python/yap_kernel/yap_ipython/utils/tz.py
Normal file
46
packages/python/yap_kernel/yap_ipython/utils/tz.py
Normal file
@@ -0,0 +1,46 @@
|
||||
# encoding: utf-8
|
||||
"""
|
||||
Timezone utilities
|
||||
|
||||
Just UTC-awareness right now
|
||||
"""
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copyright (C) 2013 The yap_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()
|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user