-1

Demo:

import time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

otherStyletime == "2013-10-10 23:40:00"

but my timestamp is 1399266718207, have valueerror , timestamp out of range for platform time_t. please tell me what can i do? change the size of date?

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343

1 Answers1

1

1399266718207 is a timestamp in milliseconds, not seconds. Divide it by 1000:

>>> import time
>>> timeStamp = 1399266718207
>>> time.localtime(timeStamp / 1000.0)
time.struct_time(tm_year=2014, tm_mon=5, tm_mday=5, tm_hour=6, tm_min=11, tm_sec=58, tm_wday=0, tm_yday=125, tm_isdst=1)
>>> time.strftime("%Y-%m-%d %H:%M:%S", _)
'2014-05-05 06:11:58'

The datetime module supports retaining the millisecond precision:

>>> import datetime
>>> datetime.datetime.fromtimestamp(timeStamp / 1000.0)
datetime.datetime(2014, 5, 5, 6, 11, 58, 207000)
>>> _.isoformat(' ')
'2014-05-05 06:11:58.207000'
Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343