我有两个字符串,例如 1352789792.757637 和 1352789919.235815。如何将它们转换回时间并进行比较?
感谢帮助
这是假设这些秒是自纪元以来的秒数。如果是这样,这应该适用于转换为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
而不是转换为时间)。虽然不确定您的用例,所以这可能会被误导:)
要进行比较,您可以直接使用时间戳。你只需要做这样的事情:
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