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

Mar*_*ter 4 python timestamp

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

import datetime
var = 1458365220000
temp = datetime.datetime.fromtimestamp(var).strftime('%H:%M:%S')
print (temp)
Run Code Online (Sandbox Code Playgroud)

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

OSError:[Errno 22]参数无效

Cal*_*ior 7

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

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

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