你應該從一個文件爲Unicode讀出,然後將其轉換爲日期 - 時間格式。
from datetime import datetime
f = open(LogFilePath, 'r', encoding='utf-8')
# Read first line of log file and remove '\n' from end of it
Log_DateTime = f.readline()[:-1]
您可以定義日期 - 時間格式是這樣的:
fmt = "%Y-%m-%d %H:%M:%S.%f"
但一些編程語言如C#不支持它容易,所以你可以把它改成:
fmt = "%Y-%m-%d %H:%M:%S"
或者您可以使用下面的方式(以滿足。%f):
Log_DateTime = Log_DateTime + '.000000'
如果你有一個無法識別的符號(一個Unicode符號),那麼你也應該刪除它。
# Removing an unrecognized symbol at the first of line (first character)
Log_DateTime = Log_DateTime[1:] + '.000000'
最後,你應該字符串的日期 - 時間轉換爲實際的日期時間格式:
Log_DateTime = datetime.datetime.strptime(Log_DateTime, fmt)
Current_Datetime = datetime.datetime.now() # Default format is '%Y-%m-%d %H:%M:%S.%f'
# Calculate different between that two datetime and do suitable actions
Current_Log_Diff = (Current_Datetime - Log_DateTime).total_seconds()
謝謝。這很好地工作。 – 2010-04-03 14:57:53
請注意,Python 3的行爲會有所不同,請參閱我的錯誤報告(http://bugs.python.org/issue8304)。 – AndiDog 2010-04-03 15:10:36
啊!這一點的信息是需要超過半個地球(只有python用戶),它的發現......只是在這裏......很好! – 2011-01-11 15:18:31