2017-06-02 99 views
-3

我正在開發基於保存在文本文件中的時間戳來啓動進程的基本程序。如何比較字符串形式的時間/日期?

我使用以下格式,將時間/日期保存到文本文件中:

strftime("%Y/%m/%d %H:%M:%S",localtime()) 

後來,我將讀取該文件,並且如果當前時間>時間戳+預設增量(以分鐘計),然後我將轉到腳本的下一部分。

我目前正在處理這100%,我寫了一個函數,將字符串和delta分爲幾分鐘,幾小時,幾天,幾個月和幾年,並將它們加在一起。

我想知道有沒有更快的方法來做到這一點? python會提供一個我錯過的更簡單的解決方案嗎?

我沒有附加到時間和日期的當前格式,我願意以不同的格式對其進行格式化,只要功能在那裏。

回答

1

的strftime有一個字符串轉換成datetime對象相反 - strptime,所以你的情況,你可以這樣做:

from datetime import datetime, timedelta 
    date_from_file = datetime.strptime(string_from_file, "%Y/%m/%d %H:%M:%S") 

還,請注意,我還導入了「timedelta」,你可以用這樣的:

if datetime.now() > date_from_file + timedelta(hours=3): 
     do_something() 

它將檢查當前時間是否大於文件中時間後3小時的時間。當然你可以改變

timedelta(hours=3) 

timedelta(minutes=15) 

或其他任何你需要...

我建議在timedelta學習更多,如果你需要更多的東西:https://docs.python.org/2/library/datetime.html