日時オブジェクトを認識させる方法 (非ナイーブ)
Python では、日時オブジェクトはナイーブまたは認識のいずれかにすることができます。ナイーブ オブジェクトにはタイム ゾーンが関連付けられていませんが、認識オブジェクトにはタイム ゾーンが関連付けられています。ナイーブ オブジェクトは対応オブジェクトと比較できないため、日時オブジェクトを比較するときに問題が発生する可能性があります。
ナイーブ 日時オブジェクトを対応させる方法はいくつかあります。 1 つの方法は、localize メソッドを使用することです。 localize メソッドは、pytz タイムゾーン オブジェクトを引数として受け取り、指定されたタイムゾーンを認識する新しい日時オブジェクトを返します。
例:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = pytz.utc.localize(unaware)
これにより、新しい日時オブジェクトが作成されます。
単純な datetime オブジェクトを認識させるもう 1 つの方法は、replace メソッドを使用することです。 replace メソッドは、tzinfo 属性の引数を含む、いくつかのキーワード引数を受け取ります。 tzinfo 属性を pytz タイムゾーン オブジェクトに設定して、datetime オブジェクトを認識させることができます。
例:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = unaware.replace(tzinfo=pytz.UTC)
これにより、UTC を認識する新しい datetime オブジェクトも作成されます。 timezone.
datetime オブジェクトが認識されると、他の認識された datetime オブジェクトと比較できます。例:
import datetime import pytz aware_1 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) aware_2 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) if aware_1 == aware_2: print("The two datetime objects are equal.")
これは、「2 つの日時オブジェクトは等しい」と出力します。
以上がPython で Naive Datetime オブジェクトを Aware Datetime オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。