Convert timestamp since epoch to datetime.datetime

后端 未结 3 1338
无人共我
无人共我 2020-11-30 05:08

I have the following timestamps since epoch:

Timestamp
1346114717972
1354087827000

How can I convert these timestamps to some specific outp

相关标签:
3条回答
  • 2020-11-30 05:55

    Assuming millisecond resolution:

    import datetime
    
    s = '1346114717972'
    fmt = "%Y-%m-%d %H:%M:%S"
    
    # local time
    t = datetime.datetime.fromtimestamp(float(s)/1000.)
    print t.strftime(fmt) # prints 2012-08-28 02:45:17
    
    # utc time
    t_utc = datetime.datetime.utcfromtimestamp(float(s)/1000.)
    print t_utc.strftime(fmt) # prints 2012-08-28 00:45:17
    

    Have a look at the documentation for the strftime() and strptime() behavior.

    0 讨论(0)
  • 2020-11-30 05:56

    I would use the time module

    >>> import time
    >>> time.gmtime(1346114717972/1000.)
    time.struct_time(tm_year=2012, tm_mon=8, tm_mday=28, tm_hour=0, tm_min=45, tm_sec=17, tm_wday=1, tm_yday=241, tm_isdst=0)  
    

    This shows the timestamp in UTC/GMT time.

    The timestamp is divided by 1000 as the stamps you have provided are in milliseconds since the epoch, not seconds.

    Then use strftime to format like so:

    >>> time.strftime('%m/%d/%Y %H:%M:%S',  time.gmtime(1346114717972/1000.))
    '08/28/2012 00:45:17'
    
    0 讨论(0)
  • 2020-11-30 06:05

    This is the simplest method I've ever seen-

    $ python
    Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import time
    >>> print(time.strftime('%Y-%m-%dT%H:%M:%S %Z',time.localtime(time.time())))
    2018-05-02T13:21:44 IST
    
    0 讨论(0)
提交回复
热议问题