
    q	h=                     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     K/var/www/html/env/lib/python3.13/site-packages/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)**..(2C2C2G2G.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   google.protobuf.timestamp_pb2r   strr   floatr   r   r   r   r%   r*   intr-   r1   r4   r7   r9   r;    r   r
   <module>rC      s   *   3C I  e 	 e 	 E i % I 9 y S 	 c 
	 c 
y S 
9   48""0""r   