在UNIX中将UNIX时间戳(以毫秒为单位)转换为HH:MM:SS

时间:2016-03-19 15:16:49

标签: python timestamp

我需要将UNIX时间戳以毫秒为单位转换为HH:MM:SS。如果我尝试这样做:

import datetime
var = 1458365220000
temp = datetime.datetime.fromtimestamp(var).strftime('%H:%M:%S')
print (temp)

它不起作用,我得到的错误是:

  

OSError:[Errno 22]参数无效

1 个答案:

答案 0 :(得分:6)

错误是由于将数字推出32位整数范围的毫秒数。 datetime.datetime.fromtimestamp期望第一个参数是自UNIX纪元开始以来的数量。但是,它能够处理作为浮点数给出的秒的分数。因此,您所要做的就是将时间戳除以1000:

import datetime
var = 1458365220000
temp = datetime.datetime.fromtimestamp(var / 1000).strftime('%H:%M:%S')
print (temp)

如果您还想在格式化字符串中包含毫秒,请使用以下格式:'%H:%M:%S.%f'