Browse files

Explained that 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.
  • Loading branch information...
1 parent 80b1511 commit 357d62d9f2972bf1bc21e5835c12c849143e06af @jacobian jacobian committed Jun 6, 2013
Showing with 17 additions and 3 deletions.
  1. +15 −3 docs/ref/utils.txt
  2. +2 −0 docs/topics/i18n/timezones.txt
@@ -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)
@@ -54,6 +54,8 @@ FAQ <time-zones-faq>`.
+.. _naive_vs_aware_datetimes:
Naive and aware datetime objects

0 comments on commit 357d62d

Please sign in to comment.