diff options
| author | Tim Graham <timograham@gmail.com> | 2018-06-28 09:26:41 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-06-28 11:14:26 -0400 |
| commit | 2ec151e35da93047acfeea1b79c27010f2cb8594 (patch) | |
| tree | 69a307541d8690a06789623ecae15732d8d7af68 /django/utils/timezone.py | |
| parent | 8c4b94d32d229109c17e050cab1f894d56e755da (diff) | |
Fixed #29514 -- Reverted "Used datetime.timezone.utc instead of pytz.utc for better performance."
This reverts commit 27ca5ce19f5f184018a61611c1bc319113b1d107 due to a
regression.
Diffstat (limited to 'django/utils/timezone.py')
| -rw-r--r-- | django/utils/timezone.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/django/utils/timezone.py b/django/utils/timezone.py index 9870cd03a9..c1f0d70bc1 100644 --- a/django/utils/timezone.py +++ b/django/utils/timezone.py @@ -2,10 +2,9 @@ Timezone-related classes and functions. """ -import datetime import functools from contextlib import ContextDecorator -from datetime import timedelta, tzinfo +from datetime import datetime, timedelta, tzinfo from threading import local import pytz @@ -53,8 +52,7 @@ class FixedOffset(tzinfo): # UTC time zone as a tzinfo instance. -# (Use utc = datetime.timezone.utc here when PY35 isn't supported.) -utc = datetime.timezone(ZERO, 'UTC') +utc = pytz.utc def get_fixed_timezone(offset): @@ -174,7 +172,7 @@ def template_localtime(value, use_tz=None): This function is designed for use by the template engine. """ should_convert = ( - isinstance(value, datetime.datetime) and + isinstance(value, datetime) and (settings.USE_TZ if use_tz is None else use_tz) and not is_naive(value) and getattr(value, 'convert_to_local_time', True) @@ -221,7 +219,11 @@ def now(): """ Return an aware or naive datetime.datetime, depending on settings.USE_TZ. """ - return datetime.datetime.now(utc if settings.USE_TZ else None) + if settings.USE_TZ: + # timeit shows that datetime.now(tz=utc) is 24% slower + return datetime.utcnow().replace(tzinfo=utc) + else: + return datetime.now() # By design, these four functions don't perform any checks on their arguments. |
