この形式の日時オブジェクトを比較するにはどうすればよいですか
「Thu, 15 Jan 2015 06:35:37 GMT」を現在の時刻で ?
この形式の日時オブジェクトを比較するにはどうすればよいですか
「Thu, 15 Jan 2015 06:35:37 GMT」を現在の時刻で ?
datetime
モジュールを使用して、datetime 文字列から datetimetime オブジェクトに変換できます。次に、2 つの datetime オブジェクト間で違いを取得します。
>>> from datetime import datetime
>>> a = datetime.strptime("Thu, 15 Jan 2015 06:35:37 GMT", "%a, %d %b %Y %H:%M:%S GMT", )
>>> b = datetime.strptime("Fri, 16 Jan 2015 07:40:40 GMT", "%a, %d %b %Y %H:%M:%S GMT", )
>>> c1 = b - a
>>> c1
datetime.timedelta(1, 3903)
>>> c1.days
1
>>> c1.total_seconds()
90303.0
>>> c1.seconds
3903
>>>
import time
from email.utils import parsedate_tz, mktime_tz
# Convert the input date string to "seconds since the epoch" (POSIX time)
timestamp = mktime_tz(parsedate_tz("Thu, 15 Jan 2015 06:35:37 GMT"))
# Compare it with the current time (ignoring leap seconds)
elapsed_seconds = time.time() - timestamp
最も簡単な方法は、dateutil
パッケージを使用することです。最初にインストールdateutil
してから:
from dateutil.parser import parse
parsed_time = parse("Thu, 15 Jan 2015 06:35:37 GMT")
次にfrom datetime import datetime
、 で現在の時刻を取得して取得できdatetime.now()
ます。2 つの datetime オブジェクトを好きなように比較できます。
を使用できない場合でも を使用できdateutil
ますdatetime.strptime()
が、日付文字列を正確に指定する必要があり、かなり面倒です。その場合は、標準ライブラリのドキュメントを参照してください。