B ㊇c@s>dZddlmZddlmZmZd ddZddZd d ZdS) zs This module offers general convenience and utility functions for dealing with datetimes. .. versionadded:: 2.7.0 )unicode_literals)datetimetimeNcCs"t|}t|td|dS)a Returns a :py:class:`datetime` representing the current day at midnight :param tzinfo: The time zone to attach (also used to determine the current day). :return: A :py:class:`datetime.datetime` object representing the current day at midnight. r)tzinfo)rnowcombinedater)rdtr i/private/var/folders/8c/hx9_v10d5x38qmnzt13b7b8j1k3n5b/T/pip-target-x6xd5gna/lib/python/dateutil/utils.pytoday s r cCs|jdk r|S|j|dSdS)a Sets the ``tzinfo`` parameter on naive datetimes only This is useful for example when you are provided a datetime that may have either an implicit or explicit time zone, such as when parsing a time zone string. .. doctest:: >>> from dateutil.tz import tzoffset >>> from dateutil.parser import parse >>> from dateutil.utils import default_tzinfo >>> dflt_tz = tzoffset("EST", -18000) >>> print(default_tzinfo(parse('2014-01-01 12:30 UTC'), dflt_tz)) 2014-01-01 12:30:00+00:00 >>> print(default_tzinfo(parse('2014-01-01 12:30'), dflt_tz)) 2014-01-01 12:30:00-05:00 :param dt: The datetime on which to replace the time zone :param tzinfo: The :py:class:`datetime.tzinfo` subclass instance to assign to ``dt`` if (and only if) it is naive. :return: Returns an aware :py:class:`datetime.datetime`. N)r)rreplace)r rr r r default_tzinfos rcCs*t|}||}| |ko$|kSS)zn Useful for comparing two datetimes that may have a negligible difference to be considered equal. )abs)Zdt1Zdt2delta differencer r r within_delta@sr)N)__doc__ __future__rrrr rrr r r r s   #