Python转换为日期并进行比较

时间:2012-11-13 06:58:57

标签: python python-3.x

我有两个字符串,如1352789792.757637和1352789919.235815。如何将它们转换回来进行比较?

感谢您的帮助

2 个答案:

答案 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