
                         f    S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   " S S	\5      r	g
)z9Provides a tzinfo subclass to represent the UTC timezone.    )absolute_import)print_function)division)unicode_literals	timedelta)tzinfoc                   *    \ rS rSrSrS rS rS rSrg)UTC   a  Timezone information class used to convert datetime timestamps to UTC.

This class is necessary to convert timestamps to UTC. By default Python
datetime objects are timezone unaware. This created problems when interacting
with cloud object timestamps which are timezone-aware. This issue appeared
when handling the timeCreated metadata attribute; the values returned by the
service were placed in RFC 3339 format in the storage_v1_messages module. RFC
3339 requires a timezone in any timestamp. This caused problems as the
datetime object elsewhere in the code was timezone unaware and was different
by exactly one hour. The main problem was that the local system used daylight
savings time which adjusted the timestamp ahead by one hour.
c                     [        S5      $ )zAn offset of the number of minutes away from UTC this tzinfo object is.

Returns:
  A time duration of zero. UTC is zero minutes away from UTC.
r   r   self_s     platform/gsutil/gslib/tz_utc.py	utcoffsetUTC.utcoffset(        Q<    c                     g)zjA method to retrieve the name of this timezone object.

Returns:
  The name of the timezone (i.e. 'UTC').
r    r   s     r   tzname
UTC.tzname0   s     r   c                     [        S5      $ )zsA fixed offset to handle daylight savings time (DST).

Returns:
  A time duration of zero as UTC does not use DST.
r   r   r   s     r   dstUTC.dst8   r   r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes__r   r   r   r   r      s    r   r   N)
r!   
__future__r   r   r   r   datetimer   r	   r   r   r   r   <module>r%      s)    @ & %  '  $& $r   