Explained that timezone.now() always returns times in UTC.

The docs were ambiguous about the time zone for now(), leading people to
assume that it would be the current time zone rather that UTC.
This commit is contained in:
Jacob Kaplan-Moss 2013-06-06 11:03:47 -05:00
parent 80b1511311
commit 357d62d9f2
2 changed files with 17 additions and 3 deletions

View File

@ -929,9 +929,21 @@ For a complete discussion on the usage of the following see the
.. function:: now()
Returns an aware or naive :class:`~datetime.datetime` that represents the
current point in time when :setting:`USE_TZ` is ``True`` or ``False``
respectively.
Returns a :class:`~datetime.datetime` that represents the
current point in time. Exactly what's returned depends on the value of
:setting:`USE_TZ`:
* If :setting:`USE_TZ` is ``False``, this will be be a
:ref:`naive <naive_vs_aware_datetimes>` datetime (i.e. a datetime
without an associated timezone) that represents the current time
in the system's local timezone.
* If :setting:`USE_TZ` is ``True``, this will be an
:ref:`aware <naive_vs_aware_datetimes>` datetime representing the
current time in UTC. Note that :func:`now` will always return
times in UTC regardless of the value of :setting:`TIME_ZONE`;
you can use :func:`localtime` to convert to a time in the current
time zone.
.. function:: is_aware(value)

View File

@ -54,6 +54,8 @@ FAQ <time-zones-faq>`.
Concepts
========
.. _naive_vs_aware_datetimes:
Naive and aware datetime objects
--------------------------------