3
我需要比較服務器中的兩個日期與每一行數據上的python。在這種情況下,我使用了datetime
,但由於一些限制,它會在大數據上浪費大量時間。我用下面的代碼創建一個datetime
對象,並在進一步使用:將兩個日期比較爲字符串
first_date = datetime.strptime(line_content[3], '%Y-%m-%dT%H:%M:%S.000000Z')
second_date = datetime.strptime(line_content[4].strip(), '%Y-%m-%dT%H:%M:%S.000000Z')
我想他們要比較的字符串的日期,不要使用datetime
,如果我這樣做會有一個很大的時間成本降低這些數據。所以在Python中使用下面的測試在此方面:
>>> "2016-07-28T06:04:12.000000Z" < "2016-04-28T06:04:13.000000Z"
False
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T06:04:13.000000Z"
True
>>>
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T06:04:11.000000Z"
False
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T06:04:12.000000Z"
False
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T07:04:12.000000Z"
True
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T06:04:12.000000Z"
False
>>>
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-26T06:04:12.000000Z"
False
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-29T06:04:12.000000Z"
True
>>> "2016-07-28T06:04:12.000000Z" < "2016-07-28T06:04:12.000000Z"
False
>>>
這是一個很好的方法來比較日期。我的意思是你能告訴我一個例子,這段代碼不起作用嗎?
這既不是一個好的也不是一個工作的方式。 Python按字典順序比較字符串。構建一個'datetime'對象不應該是性能瓶頸。你確定這是問題的原因嗎? – DeepSpace
@DeepSpace,但如果日期都是相同的格式,是不是一樣? – Julien
@DeepSpace:所以一個顯而易見的不工作的例子不會有零填充。你能指出什麼時候'strptime'會這樣做嗎? – usr2564301