ホームページ > バックエンド開発 > Python チュートリアル > Python で単純な日時オブジェクトをタイムゾーン対応オブジェクトに変換するにはどうすればよいですか?

Python で単純な日時オブジェクトをタイムゾーン対応オブジェクトに変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 20:18:11
オリジナル
273 人が閲覧しました

How Can I Convert a Naive Datetime Object to a Timezone-Aware Object in Python?

ナイーブ Datetime オブジェクトをタイムゾーン対応に変換する

Python では、datetime オブジェクトはタイムゾーン対応またはタイムゾーン ナイーブのいずれかにすることができます。タイムゾーン対応日時オブジェクトには特定のタイムゾーンへの参照が含まれますが、タイムゾーン非対応日時オブジェクトには含まれません。

タイムゾーン対応日時オブジェクトとタイムゾーン非対応日時オブジェクトを比較する場合は、次の点を理解することが重要です。

  1. astimezone(): このメソッドは、タイムゾーン ナイーブの変換を試みます。 datetime オブジェクトをタイムゾーン対応の datetime オブジェクトに変換します。ただし、提供されているコード スニペットに見られるように、単純な datetime オブジェクトには適用できません。
  2. replace(): replace メソッドは引数を受け取り、datetime オブジェクト内の値を置き換えます。 tzinfo フィールド。このメソッドを使用すると、tzinfo フィールドを希望のタイムゾーンに設定できます。ただし、コード ブロックに示すように、replace によって datetime オブジェクトがタイムゾーン対応になることは自動的にはありません。

単純な datetime オブジェクトをタイムゾーン対応オブジェクトに正しく変換するには、localize を使用します。 () メソッド:

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = pytz.utc.localize(unaware)
ログイン後にコピー

localize メソッドは、単純な datetime オブジェクトと特定のタイムゾーンを引数として受け取ります。元の日時値を保持しながら、タイムゾーンを認識する新しい日時オブジェクトを返します。

UTC など、夏時間の計算を含まない特定のタイムゾーンの場合は、次のアプローチも使用できます。

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = unaware.replace(tzinfo=pytz.UTC)
ログイン後にコピー

この場合、replace は tzinfo フィールドを指定されたタイムゾーンに直接設定し、タイムゾーンを認識した日時になります。オブジェクト。

以上がPython で単純な日時オブジェクトをタイムゾーン対応オブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート