我有两个字符串,如1352789792.757637和1352789919.235815。如何将它们转换回来进行比较?
感谢您的帮助
答案 0 :(得分:2)
这假设那些秒是自纪元以来的秒数。如果是这样,这应该适用于转换为struct_time
:
>>> import time
>>> time.gmtime(1352789792.757637)
time.struct_time(tm_year=2012, tm_mon=11, tm_mday=13, tm_hour=6, tm_min=56, tm_sec=32, tm_wday=1, tm_yday=318, tm_isdst=0)
但请注意,您从文件中获取的格式实际上代表秒数,因此可以对这些数字进行差异等操作。根据您想要进行的分析类型,这可能会使其更容易一些(即将它们视为floats
而不是转换为时间)。不确定你的用例,所以这可能是错误的:)
答案 1 :(得分:1)
要进行比较,您可以直接使用时间戳。 你只需要这样做:
if float(timestamp1)<float(timestamp2): ...
要转换有用的时间戳,可以使用时间模块。
例如:
>> import time
>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float("1352789792.757637"))
'2012-11-13 07:56:32'
您可以使用time.strptime转换回时间戳,预先格式化的日期字符串 - 请参阅此复杂示例的输出:
>> import time
>> time.mktime(time.strptime(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float("1352789792.757637"))),"%Y-%m-%d %H:%M:%S"))
1352789792.0