Opened 7 years ago

Closed 7 years ago

Last modified 4 years ago

#7209 closed (worksforme)

time_zone conflict.. datetime.now() (in django shell) shows 3 hours earlier

Reported by: alperkanat@… Owned by: nobody
Component: Core (Other) Version: master
Severity: Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description (last modified by ramiro)

to make it clear, I replicate the problem:

[02:29] (tunix@penguix raptiye)$ date
Cts May 10 02:31:57 EEST 2008
[02:31] (tunix@penguix raptiye)$ python
Python 2.5.2 (r252:60911, Feb 23 2008, 21:20:32) 
[GCC 4.2.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2008, 5, 10, 2, 32, 7, 410947)
>>> datetime.utcnow()
datetime.datetime(2008, 5, 9, 23, 32, 10, 255636)
>>> 
[02:32] (tunix@penguix raptiye)$ ./manage.py shell
Python 2.5.2 (r252:60911, Feb 23 2008, 21:20:32) 
[GCC 4.2.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2008, 5, 9, 23, 32, 25, 624929)
>>> datetime.utcnow()
datetime.datetime(2008, 5, 9, 23, 32, 29, 45600)
>>>

i've just set system time to UTC and it still doesn't work.. i'm using Europe/Istanbul as the timezone.. django would work fine a few weeks before..

Change History (5)

comment:1 Changed 7 years ago by Collin Grady <cgrady@…>

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

I am also seeing strange behavior:

$ date
Fri May  9 16:35:09 PDT 2008

$ cat settings.py | grep TIME_ZONE
TIME_ZONE = 'Europe/Helsinki'

$ python
Python 2.5.1 (r251:54863, May  2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2008, 5, 9, 16, 35, 16, 602801)
>>> datetime.utcnow()
datetime.datetime(2008, 5, 9, 23, 35, 19, 770471)
>>>

$ ./manage.py shell
Python 2.5.1 (r251:54863, May  2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2008, 5, 10, 2, 35, 37, 190599)
>>> datetime.utcnow()
datetime.datetime(2008, 5, 9, 23, 35, 38, 390818)
>>>

# changed settings.TIME_ZONE to "PDT" or "America/Pacific"

$ ./manage.py shell
Python 2.5.1 (r251:54863, May  2 2007, 16:56:35) 
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from datetime import datetime                                                                                    
>>> datetime.now()                                                                                                   
datetime.datetime(2008, 5, 9, 23, 39, 49, 115522)
>>> datetime.utcnow()                                                                                    
datetime.datetime(2008, 5, 9, 23, 39, 50, 27832)
>>> 

With the first TIME_ZONE setting, it seemed it might be respecting it, but changing to anything for Pacific time made it switch to UTC in manage.py shell

comment:2 Changed 7 years ago by ramiro

  • Description modified (diff)

comment:3 Changed 7 years ago by serialx

  • Component changed from Uncategorized to Core framework
  • milestone set to 1.0
  • Triage Stage changed from Unreviewed to Accepted

Seems like a bug.

comment:4 Changed 7 years ago by ebruning

  • Resolution set to worksforme
  • Status changed from new to closed

The behavior reported by Colin Grady is associated with an unknown TIME_ZONE. America/Pacific isn't on the list at http://en.wikipedia.org/wiki/List_of_tz_zones_by_name. Unknown time zones cause the time zone to default to UTC.

Since Europe/Istanbul as listed in the original ticket is a valid time zone, I'm not sure what's up. Could be as simple as a misspelling in settings.py.

Otherwise, with a time zone that I know is valid, this worksforme.

comment:5 Changed 4 years ago by jacob

  • milestone 1.0 deleted

Milestone 1.0 deleted

Note: See TracTickets for help on using tickets.
Back to Top