�
JDvczQ � � � d Z ddlmZmZmZmZmZ ddlmZmZ ddlm Z G d� de� � Z
G d� de
� � Z G d � d
e� � Z G d� de� � Z
G d
� de� � Z G d� de
e� � Z G d� de� � Z G d� de� � Z G d� de� � Z e ee� � e ee
� � e ee� � e ee� � e ee� � dS )z�Datetime interfaces.
This module is called idatetime because if it were called datetime the import
of the real datetime would fail.
� )� timedelta�date�datetime�time�tzinfo)� Interface� Attribute)�classImplementsc �T � e Zd ZdZ ed� � Z ed� � Z ed� � ZdS )�ITimeDeltaClassz�This is the timedelta class interface.
This is symbolic; this module does **not** make
`datetime.timedelta` provide this interface.
z"The most negative timedelta objectz"The most positive timedelta objectz;The smallest difference between non-equal timedelta objectsN��__name__�
__module__�__qualname__�__doc__r �min�max�
resolution� � �A/usr/lib/python3/dist-packages/zope/interface/common/idatetime.pyr r sP � � � � � �� � �)�8�
9�
9�C�
�)�8�
9�
9�C���E�G� G�J�J�Jr r c �T � e Zd ZdZ ed� � Z ed� � Z ed� � ZdS )�
ITimeDeltaa� Represent the difference between two datetime objects.
Implemented by `datetime.timedelta`.
Supported operators:
- add, subtract timedelta
- unary plus, minus, abs
- compare to timedelta
- multiply, divide by int/long
In addition, `.datetime` supports subtraction of two `.datetime` objects
returning a `.timedelta`, and addition or subtraction of a `.datetime`
and a `.timedelta` giving a `.datetime`.
Representation: (days, seconds, microseconds).
z/Days between -999999999 and 999999999 inclusivez%Seconds between 0 and 86399 inclusivez+Microseconds between 0 and 999999 inclusiveN)r r r r r �days�seconds�microsecondsr r r r r & |