モジュール・標準ライブラリ応用問題

datetime モジュール で、異なるタイムゾーンの datetime オブジェクトを比較したとき、比較結果がどのように決定されますか? ```python from datetime import datetime, timezone, timedelta tz_jst = timezone(timedelta(hours=9)) tz_utc = timezone.utc dt1 = datetime(2024, 1, 1, 9, 0, 0, tzinfo=tz_jst) dt2 = datetime(2024, 1, 1, 0, 0, 0, tzinfo=tz_utc) print(dt1 == dt2) ```

A.False が出力される(異なるタイムゾーンは異なる値と判定)
✗ datetime オブジェクトが tzinfo を持つ場合、比較時に UTC に自動変換されます。タイムゾーン情報があれば適切に比較されます。
B.True が出力される(UTC に統一して比較される)← 正解
✓ 正解です。datetime オブジェクトは比較時に UTC に統一されるため、JST 9:00 と UTC 0:00 は同じ瞬間を表し、== は True を返します。
C.TypeError が発生する
✗ 異なるタイムゾーンの datetime オブジェクト同士の比較は有効であり、TypeError は発生しません。
D.比較結果は実装依存で不定である
✗ datetime の比較は仕様で定義されており、不定な動作はしません。UTC に統一して比較が実行されます。

Python 3 エンジニア認定基礎試験 の問題一覧