How to reproduce:
{{{#!python
>>> from django.conf import settings
>>> settings.configure()
>>> from django.utils import timezone
>>> from datetime import date
>>> d = date(year=2018, month=3, day=30)
>>> timezone.is_aware(d)
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/29190>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by Tim Graham):
[https://docs.djangoproject.com/en/stable/ref/utils/#django.utils.timezone.is_aware
The documentation] says, "This function assumes that value is a datetime."
Do you have a compelling use case to add support for `datetime.date`?
--
Ticket URL: <https://code.djangoproject.com/ticket/29190#comment:1>
Comment (by Derek Shoemaker):
From the code for `django.utils.timezone`:
By design, [is_aware doesn't] perform any checks on [its] arguments. The
caller should ensure that they don't receive an invalid value like None.
Assuming value.tzinfo is either None or a proper datetime.tzinfo,
value.utcoffset() implements the appropriate logic.
So the function does not accept date objects. It only accepts datetime and
time objects, since they the necessary time information to determine
timezone. The date object is naive and does not have either tzinfo or
utcoffset as methods.
https://docs.python.org/3/library/datetime.html#datetime.date
I don't know your use case exactly, but I think that replacing the date
object with a datetime object will fix your problem.
--
Ticket URL: <https://code.djangoproject.com/ticket/29190#comment:2>
* status: new => closed
* resolution: => invalid
--
Ticket URL: <https://code.djangoproject.com/ticket/29190#comment:3>