ó
    €ÏF  ã                   ó4  • S r SSKrSSKJr  SSKJr  S\S\4S jrS\S\4S	 jr	S
\S\4S jr
S\S\4S jrS\S\4S jrS\4S jrS\S\4S jrS\S\4S jrS\S\4S jrS\S\4S jrS\S\4S jr SS\S\\R(                     S\R                  4S jjrg)z#Contains the Timestamp helper APIs.é    N)ÚOptional)Ú	TimestampÚvalueÚreturnc                 ó<   • [        5       nUR                  U 5        U$ )a.  Parse a RFC 3339 date string format to Timestamp.

Args:
  value: A date string. Any fractional digits (or none) and any offset are
    accepted as long as they fit into nano-seconds precision. Example of
    accepted format: '1972-01-01T10:00:20.021-05:00'

Raises:
  ValueError: On parsing problems.
)r   ÚFromJsonString)r   Ú	timestamps     Ú5lib/third_party/cloudsdk/google/protobuf/timestamp.pyÚfrom_json_stringr      s   € ô ‹k€)Ø×Ñ˜5Ô!Ø	Ðó    Úmicrosc                 ó<   • [        5       nUR                  U 5        U$ )z/Converts microseconds since epoch to Timestamp.)r   ÚFromMicroseconds)r   r	   s     r
   Úfrom_microsecondsr       ó   € ä‹k€)Ø×Ñ˜VÔ$Ø	Ðr   Úmillisc                 ó<   • [        5       nUR                  U 5        U$ )z/Converts milliseconds since epoch to Timestamp.)r   ÚFromMilliseconds)r   r	   s     r
   Úfrom_millisecondsr   '   r   r   Únanosc                 ó<   • [        5       nUR                  U 5        U$ )z.Converts nanoseconds since epoch to Timestamp.)r   ÚFromNanoseconds)r   r	   s     r
   Úfrom_nanosecondsr   .   s   € ä‹k€)Ø×Ñ˜EÔ"Ø	Ðr   Úsecondsc                 ó<   • [        5       nUR                  U 5        U$ )z*Converts seconds since epoch to Timestamp.)r   ÚFromSeconds)r   r	   s     r
   Úfrom_secondsr   5   s   € ä‹k€)Ø×Ñ˜Ô Ø	Ðr   c                  ó¢   • [        5       n U R                  [        R                  R                  [        R                  R
                  S95        U $ )z&Converts the current UTC to Timestamp.)Útz)r   ÚFromDatetimeÚdatetimeÚnowÚtimezoneÚutc)r	   s    r
   Úfrom_current_timer%   <   s=   € ä‹k€)Ø×Ñœ×*Ñ*×.Ñ.´(×2CÑ2C×2GÑ2GÐ.ÐHÔIØ	Ðr   Útsc                 ó"   • U R                  5       $ )a  Converts Timestamp to RFC 3339 date string format.

Returns:
  A string converted from timestamp. The string is always Z-normalized
  and uses 3, 6 or 9 fractional digits as required to represent the
  exact time. Example of the return format: '1972-01-01T10:00:20.021Z'
)ÚToJsonString©r&   s    r
   Úto_json_stringr*   C   s   € ð 
‰Ó	Ðr   c                 ó"   • U R                  5       $ )z/Converts Timestamp to microseconds since epoch.)ÚToMicrosecondsr)   s    r
   Úto_microsecondsr-   N   ó   € à	×	Ñ	Ó	Ðr   c                 ó"   • U R                  5       $ )z/Converts Timestamp to milliseconds since epoch.)ÚToMillisecondsr)   s    r
   Úto_millisecondsr1   S   r.   r   c                 ó"   • U R                  5       $ )z.Converts Timestamp to nanoseconds since epoch.)ÚToNanosecondsr)   s    r
   Úto_nanosecondsr4   X   s   € à	×	Ñ	Ó	Ðr   c                 ó"   • U R                  5       $ )z*Converts Timestamp to seconds since epoch.)Ú	ToSecondsr)   s    r
   Ú
to_secondsr7   ]   s   € à	‰‹Ðr   r   c                 ó    • U R                  US9$ )a)  Converts Timestamp to a datetime.

Args:
  tz: A datetime.tzinfo subclass; defaults to None.

Returns:
  If tzinfo is None, returns a timezone-naive UTC datetime (with no timezone
  information, i.e. not aware that it's UTC).

  Otherwise, returns a timezone-aware datetime in the input timezone.
)Útzinfo)Ú
ToDatetime)r&   r   s     r
   Úto_datetimer;   b   s   € ð 
‰˜bˆÐ	!Ð!r   )N)Ú__doc__r!   Útypingr   Ú&cloudsdk.google.protobuf.timestamp_pb2r   Ústrr   Úfloatr   r   r   r   r%   r*   Úintr-   r1   r4   r7   r9   r;   © r   r
   Ú<module>rC      s  ðñ *ã Ý å <ð˜Cð  Iô ð ˜eð ¨	ô ð˜eð ¨	ô ð˜Eð  iô ð˜%ð  Iô ð˜9ô ðyð  Sô ð˜	ð  cô ð
˜	ð  cô ð
yð  Sô ð
9ð  ô ð 48ñ"Øð"Ø §¡Ñ0ð"à×Ñö"r   