diff options
| author | Can Sarigol <ertugrulsarigol@gmail.com> | 2021-11-11 09:57:50 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-11-12 07:30:02 +0100 |
| commit | 661316b066923493ff91d6d2aa92e463f595a6b1 (patch) | |
| tree | 6730711bcf086e5692c251baadd196e0311f7236 /django/db/backends/sqlite3/base.py | |
| parent | 78163d1ac4407d59bfc5fdf1f84f2dbbb2ed3443 (diff) | |
Fixed #33279 -- Fixed handling time zones with "-" sign in names.
Thanks yakimka for the report.
Regression in fde9b7d35e4e185903cc14aa587ca870037941b1.
Diffstat (limited to 'django/db/backends/sqlite3/base.py')
| -rw-r--r-- | django/db/backends/sqlite3/base.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index fbad8039d8..6f5168f159 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -434,14 +434,11 @@ def _sqlite_datetime_parse(dt, tzname=None, conn_tzname=None): if conn_tzname: dt = dt.replace(tzinfo=timezone_constructor(conn_tzname)) if tzname is not None and tzname != conn_tzname: - sign_index = tzname.find('+') + tzname.find('-') + 1 - if sign_index > -1: - sign = tzname[sign_index] - tzname, offset = tzname.split(sign) - if offset: - hours, minutes = offset.split(':') - offset_delta = datetime.timedelta(hours=int(hours), minutes=int(minutes)) - dt += offset_delta if sign == '+' else -offset_delta + tzname, sign, offset = backend_utils.split_tzname_delta(tzname) + if offset: + hours, minutes = offset.split(':') + offset_delta = datetime.timedelta(hours=int(hours), minutes=int(minutes)) + dt += offset_delta if sign == '+' else -offset_delta dt = timezone.localtime(dt, timezone_constructor(tzname)) return dt |
