आप यूनिकोड के रूप में एक फ़ाइल से पढ़ने और फिर इसे दिनांक समय फ़ॉर्मेट में बदलने चाहिए: आप इस समाधान का उपयोग कर सकते हैं।
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"
लेकिन जैसे सी # कुछ प्रोग्रामिंग भाषा आसानी से इसका समर्थन नहीं करता है, तो आप इसे करने के लिए बदल सकते हैं:
fmt = "%Y-%m-%d %H:%M:%S"
या आप निम्न तरीके से उपयोग कर सकते हैं (संतुष्ट करने के लिए।% एफ):
Log_DateTime = Log_DateTime + '.000000'
यदि आपके पास एक अपरिचित प्रतीक (एक यूनिकोड प्रतीक) है तो आपको इसे भी हटा देना चाहिए।
# 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()
स्रोत
2018-01-23 08:46:17
धन्यवाद। यह अच्छी तरह से काम करता है। –
ध्यान दें कि पायथन 3 अलग-अलग व्यवहार करेगा, मेरी बग रिपोर्ट देखें (http://bugs.python.org/issue8304)। – AndiDog
argh! आधे ग्रह से अधिक जानकारी के इस बिट की आवश्यकता है (केवल पाइथन उपयोगकर्ता ही) और यह पाया गया है ... बस यहाँ ... अच्छा! –