同じ瞬間の比較
次のコードを実行したときの出力として、正しいものを1つ選べ。
from datetime import datetime, timezone
from zoneinfo import ZoneInfo
print(datetime(2026, 6, 1, 12, tzinfo=timezone.utc) == datetime(2026, 6, 1, 21, tzinfo=ZoneInfo("Asia/Tokyo")))
- A
False - B
True - C
None - D
TypeErrorが発生する。
正解と解説を見る
正解:B
タイムゾーン付きの datetime は、UTC に直した瞬間で比較される。表示が違っても、同じ瞬間なら等しい。タイムゾーンなし(naive)とあり(aware)の比較は TypeError。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `from datetime import datetime, timezone` | — |
| 2 | `from zoneinfo import ZoneInfo` | — |
| 3 | `print(datetime(2026, 6, 1, 12, tzinfo=timezon…` | — |
| 結果 | 実際の出力 | True |
- A
誤り。時刻の表示は違うが、同じ瞬間を表す。
- B
正しい。UTC の 12 時と、日本時間の 21 時は、同じ瞬間なので等しい。
- C
誤り。比較の結果は真偽値。
- D
誤り。タイムゾーン付きどうしは比較できる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。