ホームページ >バックエンド開発 >Python チュートリアル >[python] pytz, dateutil を使わずに異なるタイムゾーンの日時に変換する方法
この記事では、サードパーティのライブラリ datetime
と zoneinfo
を必要とせずに、Python 3.6 以降で pytz
モジュールと dateutil
モジュールを使用して、異なる形式の日付と時刻を簡単に変換する方法を紹介します。タイムゾーン。
コア メソッド: datetime
オブジェクトの astimezone
メソッドを使用します。
簡単な手順:
datetime
オブジェクトを作成します。 astimezone
メソッドを使用して日時をターゲットのタイムゾーンに変換します。 前提条件:
tzdata を確認してインストールします:
ターミナルまたはコマンド プロンプトで次のコマンドを実行して、システムに必要なタイム ゾーン データがインストールされているかどうかを確認します。
<code class="language-bash">python3 -c '__import__("zoneinfo").available_timezones()'</code>
出力が空のセット set()
の場合、tzdata
をインストールする必要があります:
<code class="language-bash">pip install tzdata</code>
詳細な手順と例:
1. タイムゾーン情報を含む datetime
オブジェクトを作成します:
datetime.now()
メソッドを使用し、tz
パラメーターを ZoneInfo("localtime")
として指定して現地時間を取得します。 <code class="language-python">from datetime import datetime from zoneinfo import ZoneInfo dt = datetime.now(tz=ZoneInfo("localtime"))</code>
datetime
コンストラクターを使用して、tzinfo
パラメーターを指定します。 <code class="language-python">dt = datetime(2025, 1, 1, 0, 0, tzinfo=ZoneInfo("Europe/Istanbul"))</code>
datetime.fromtimestamp()
メソッドを使用し、tz
パラメーターを指定します。 <code class="language-python">unix_time = 1675000000 # 示例UNIX时间戳 dt = datetime.fromtimestamp(unix_time, tz=ZoneInfo("UTC"))</code>
2. astimezone
メソッドを使用してタイムゾーンを変換します:
astimezone()
メソッドを使用して、datetime
オブジェクトをターゲットのタイムゾーンに変換します。
<code class="language-python">pst = dt.astimezone(ZoneInfo("US/Pacific"))</code>
例: 2025 年 1 月 1 日 0:00 トルコのイスタンブール時間から米国の太平洋標準時 (PST) に変換します。
<code class="language-python">from datetime import datetime from zoneinfo import ZoneInfo tr = datetime(2025, 1, 1, 0, 0, tzinfo=ZoneInfo("Europe/Istanbul")) pst = tr.astimezone(ZoneInfo("US/Pacific")) print(f"Istanbul Time: {tr.isoformat()}") print(f"Pacific Standard Time: {pst.isoformat()}")</code>
出力は次のようになります:
<code>Istanbul Time: 2025-01-01T00:00:00+03:00 Pacific Standard Time: 2024-12-31T13:00:00-08:00</code>
上記の手順により、追加のサードパーティ ライブラリに依存せずに、Python ネイティブ モジュールを簡単に使用して、さまざまなタイム ゾーンでの日付と時刻の変換を完了できます。 実際のニーズに基づいて、datetime
オブジェクトを作成する適切な方法を選択してください。
以上が[python] pytz, dateutil を使わずに異なるタイムゾーンの日時に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。