Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 16th, 2012  |  syntax: None  |  size: 0.96 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Python's `fromtimestamp` does a discrete jump
  2. Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
  3. [GCC 4.5.2] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import time, datetime
  6. >>> def datetime_to_epoch_time(datetime_):
  7. ...     return time.mktime(datetime_.timetuple()) + datetime_.microsecond / 1e6
  8. ...
  9.        
  10. >>> x = datetime_to_epoch_time(datetime.datetime(2012, 3, 30, 3, 0))
  11.        
  12. >>> datetime.datetime.fromtimestamp(x)
  13. datetime.datetime(2012, 3, 30, 3, 0)
  14.        
  15. >>> datetime.datetime.fromtimestamp(x-1)
  16. datetime.datetime(2012, 3, 30, 1, 59, 59)
  17.        
  18. >>> datetime.datetime.fromtimestamp(x)
  19. datetime.datetime(2012, 3, 30, 3, 0)
  20. >>> datetime.datetime.utcfromtimestamp(x)
  21. datetime.datetime(2012, 3, 30, 0, 0)
  22. >>> datetime.datetime.utcfromtimestamp(x-1)
  23. datetime.datetime(2012, 3, 29, 23, 59, 59)
  24.        
  25. >>> import os,time
  26. >>> os.environ["TZ"] = "UTC"
  27. >>> time.tzset()
  28. >>> datetime.datetime.fromtimestamp(x)
  29. datetime.datetime(2012, 3, 30, 0, 0)