Alat pengembang · Konverter stempel waktu Unix
Satu stempel waktu, dua jam: mengapa UTC dan waktu lokal berbeda untuk satu periode
· Cara kerjanya
stempel waktu waktu unix zona waktu
Nilai Epoch menyebutkan satu instan, namun waktu jam dinding yang Anda lihat bergantung pada lokasi Anda. Posting ini menjelaskan aritmatika offset, mengapa tanggalnya sendiri dapat berbeda, dan mengapa konverter menampilkan kedua pembacaan tersebut.
Pelanggan mengatakan 9 pagi, log mengatakan 16:00 — acara yang sama, dua jam, dan tiket dukungan tidak akan kemana-mana
Kasus dukungan dapat terhenti ketika satu orang melaporkan “sembilan pagi” sementara log aplikasi mencatat 16:00. Label jam tidak dapat mengidentifikasi suatu peristiwa sampai zona atau offsetnya diketahui. Jika kedua referensi menghasilkan waktu yang sama, mencari penundaan pemrosesan selama tujuh jam akan membuang-buang penyelidikan pada perbedaan tampilan.
Mulailah dengan mengumpulkan stempel waktu mentah dan konteks zona masing-masing pengamat. ToolAcre menampilkan UTC dan pembacaan lokal browser saat ini dari satu konversi, sehingga perbandingannya dapat langsung dilihat oleh orang yang memegang log. Seorang kolega di tempat lain harus membandingkan nilai ISO yang dibagikan, bukan menganggap baris lokal orang pertama berlaku untuk mesin mereka.
Suatu zaman adalah waktu yang instan, bukan waktu jam dinding — hitungan detik sejak 1970 yang tidak memiliki zona tersendiri
Suatu zaman adalah jarak dari 1970-01-01T00:00:00Z dalam hitungan detik atau milidetik. Ini tidak berisi kota, bendera musim panas, atau notasi jam pilihan. Oleh karena itu, nilai 1,700,000,000 mengidentifikasi suatu saat; label seperti Selasa malam atau Rabu pagi adalah proyeksi yang dibuat setelah memilih cara membaca saat itu juga.
Inilah sebabnya mengapa menyimpan “zaman lokal” yang dikoreksi adalah kesalahan kategori. Menambahkan offset akan mengubah hitungan dan titik pada momen lain. Simpan atau kirimkan instan asli, lalu terapkan aturan membaca di tepi tempat seseorang membutuhkan kalender. ToolAcre mengikuti bentuk tersebut dengan mempertahankan angka detik dan milidetik di samping keluaran yang diformat.
Bagaimana offset diterapkan — menambahkan atau mengurangi jam dan menit, zona setengah jam dan 45-menit, dan offset yang berubah sepanjang tahun
Untuk offset tetap, aritmatikanya mudah: UTC+09:00 menunjukkan jam sembilan jam lebih cepat dari UTC, sedangkan UTC−05:00 menunjukkan satu jam terlambat lima jam. Pecahan satu jam dianggap sebagai menit, sehingga selisih empat puluh lima menit tidak dapat direpresentasikan dengan pembulatan ke jam bilangan bulat. Tanda itu milik bacaan lokal yang ditampilkan.
Offset tetap masih hanya satu observasi. ToolAcre meminta Intl untuk offset yang berlaku pada instan yang dipilih di zona browser saat ini. Hal ini tidak mengasumsikan bahwa offset hari ini berlaku sepanjang tahun. Oleh karena itu, menyalin satu offset ke dalam konfigurasi aplikasi dapat terlihat benar selama pengujian dan gagal ketika aturan yang berlaku di lingkungan berubah.
Ketika tanggalnya juga berubah — saat-saat menjelang tengah malam yang jatuh pada hari kalender berbeda di UTC dan secara lokal
Aritmatika jam dapat melewati batas kalender. Sesaat di 00:20 UTC muncul pada tanggal sebelumnya di bawah offset negatif dan kemudian pada tanggal yang sama di bawah offset positif. Tiket yang hanya mencatat “tanggal 14” dapat merujuk ke potongan log UTC yang berbeda, meskipun kedua peserta mengingat kalender mereka sendiri dengan akurat.
Gunakan tanggal, waktu, dan offset lengkap saat menyerahkan acara antar tim. Baris ISO konverter mencegah tanggal terlepas dari UTC, sedangkan baris lokal menyediakan konteks yang familiar. Jika insiden terjadi tengah malam, urutkan entri berdasarkan zaman atau UTC daripada mengurutkan label manusia yang ditulis di beberapa zona.
Contoh praktis: 1700000000 di UTC, di zona UTC+9 dan di zona UTC−5 — penulisan aritmatika dan tanggal dibandingkan
Artikel unit yang diterbitkan saat ini menetapkan bahwa 1,700,000,000 detik adalah `2023-11-14T22:13:20.000Z`. Pada pembacaan tetap +09:00, tambahkan sembilan jam untuk mendapatkan 2023-11-15 07:13:20; di bawah −05:00 tetap, kurangi lima jam untuk mendapatkan 2023-11-14 17:13:20. Tanggal hanya berubah pada contoh timur.
Kedua pembacaan offset ini merupakan demonstrasi aritmatika, bukan klaim mengenai nama kota pada tanggal tersebut. Baris lokal ToolAcre harus diizinkan untuk melaporkan pasokan offset Intl apa pun untuk zona browser sebenarnya. Bandingkan dengan nilai UTC, dan tuliskan offset yang ditampilkan daripada memaksakan nilai ilustratif ke hasil.
Contoh praktis: satu zaman di UTC, lalu dua pembacaan offset tetap eksplisit
Menampilkan kedua bacaan menghilangkan pengurangan mental dari sesi debugging. Tim server dapat mengutip UTC, sementara orang yang mereproduksi masalah dapat mengenali jam lokal yang mereka lihat. Karena kedua baris berasal dari satu Tanggal, detik dan milidetik yang cocok membuktikan bahwa keduanya belum diedit secara independen atau dibulatkan menjadi peristiwa terpisah.
Pasangan ini sangat berguna dalam tangkapan layar: sertakan catatan unit dan baris ISO daripada memotong ke nilai lokal yang sudah dikenal. Jam yang dipotong dapat ditafsirkan ulang setelah perjalanan atau perubahan pengaturan zona. Epoch plus ISO tetap stabil, dan rendering lokal menjelaskan pengalaman pengguna tanpa mengganti referensi stabil tersebut.
Hal yang tidak tercakup dalam hal ini — perubahan offset historis dan keputusan zona waktu politik, yang terdapat dalam database tz dan bukan dalam aritmatika
Penambahan sederhana tidak dapat menggambarkan zona regional yang penerapan offsetnya bervariasi. Konverter mendelegasikan pemformatan lokal ke Intl, namun repositorinya tidak memaparkan tabel aturan atau keputusan historis yang mendasarinya. Oleh karena itu, artikel ini tidak mencantumkan perubahan di masa lalu, memprediksi kebijakan di masa depan, atau menjanjikan keluaran yang sama dari mesin yang membawa data berbeda.
Ketika aplikasi harus menjadwalkan “09:00 di tempat ini,” pertahankan zona bernama dan gunakan desain penjadwalan sadar zona. Ketika harus mencatat “permintaan ini terjadi sekarang,” simpan sebentar. Itu adalah persyaratan data yang berbeda. `+02:00` yang tetap dapat menggambarkan suatu pembacaan dalam sekejap tanpa mengidentifikasi peraturan daerah yang menghasilkannya.
Aritmatika offset tetap tidak dapat mereproduksi perubahan peraturan regional
Bayangkan zaman sebagai pin yang menembus garis waktu dan permukaan jam sebagai label yang ditempatkan di sekelilingnya. UTC memberikan label umum; pemformatan lokal menyediakan format yang nyaman. ToolAcre menyajikan keduanya tanpa mengubah pin, itulah sebabnya perbedaan jam diharapkan terjadi, bukan bukti waktu yang hilang.
Untuk peristiwa yang disengketakan, tempelkan hitungan mentah, sebutkan satuannya secara eksplisit, dan bagikan keluaran ISO. Kemudian lampirkan bacaan lokal hanya sebagai anotasi. Urutan tersebut mengubah “jam saya versus jam Anda” menjadi pemetaan yang dapat diperiksa dan menjaga agar perubahan batas tanggal tidak menyamar sebagai peristiwa pada hari yang berbeda.