Waktu tanpa zona hanya bermakna di satu tempat. Pukul 08.30 di Jakarta dan pukul 08.30 di Makassar adalah dua saat yang berbeda. RFC 3339 mengatasinya dengan mewajibkan penanda selisih terhadap UTC di belakang waktu: +07:00 untuk Waktu Indonesia Barat, +08:00 untuk Waktu Indonesia Tengah, dan huruf Z sebagai singkatan untuk +00:00.
| Penulisan | Artinya | Saat yang sama dengan |
|---|---|---|
| 2026-03-04T08:30:00+07:00 | Pukul 08.30 di zona UTC+07.00 | 2026-03-04T01:30:00Z |
| 2026-03-04T08:30:00Z | Pukul 08.30 di UTC | 2026-03-04T15:30:00+07:00 |
| 2026-03-04T08:30:00 | Tidak diketahui zonanya | tidak dapat dibandingkan |
Di Python, waktu yang membawa zona disebut aware dan yang tidak membawa disebut naive. Keduanya tidak dapat dikurangkan atau dibandingkan satu sama lain; usaha melakukannya berhenti dengan TypeError. Pemisahan itu disengaja, karena hasil perbandingan waktu tanpa zona akan bergantung pada tebakan.
from datetime import datetime, timedelta, timezone
wita = timezone(timedelta(hours=8))
saat = datetime(2027, 11, 7, 21, 0, tzinfo=wita)
print(saat.isoformat()) # 2027-11-07T21:00:00+08:00
print(saat.astimezone(timezone.utc).isoformat()) # 2027-11-07T13:00:00+00:00Pola yang dipakai banyak sistem: simpan dan pertukarkan semuanya dalam UTC, lalu ubah ke waktu setempat hanya saat ditampilkan. Dengan begitu pengurutan catatan tetap benar walau pengirimnya tersebar di beberapa zona, dan laporan yang menggabungkan cabang di Jakarta, Makassar, dan Jayapura tidak menghitung satu transaksi dua kali.