3

The following:

>>> from dateutil.parser import parse
>>> parse("2013-07-02 00:00:00 -0000")
datetime.datetime(2013, 7, 2, 0, 0, tzinfo=tzutc())

shows that the time should be 12am on July 2nd 2013 in UTC.

However:

>>> parse("2013-07-02 00:00:00 -0000").strftime("%s")
'1372744800'

1372744800 is actually Tue, 02 Jul 2013 06:00:00 UTC, which is wrong. Very confused.

Zero Piraeus
  • 56,143
  • 27
  • 150
  • 160
Josh Nankin
  • 2,518
  • 4
  • 28
  • 45

1 Answers1

3

See this question: Convert python datetime to epoch with strftime

Python doesn't actually support %s as an argument to strftime (if you check at http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior it's not in the list), the only reason it's working is because Python is passing the information to your system's strftime, which uses your local timezone.

Community
  • 1
  • 1
kissgyorgy
  • 2,947
  • 2
  • 32
  • 54
  • 1
    thanks, that worked. people say python is a far superior language than PHP (where i'm coming from), but in PHP with DateTime, that wouldn't have been nearly as hard or confusing. – Josh Nankin Jul 02 '13 at 18:50
  • You should checkout [pytz](http://pytz.sourceforge.net/) and [delorean](https://github.com/myusuf3/delorean). These makes it easy to wirk with datetimes. Also [check out this thread on reddit!](http://www.reddit.com/r/learnpython/comments/1c2dra/what_are_the_best_practices_to_work_with_time_in/) – kissgyorgy Jul 02 '13 at 18:54