Teks dan kode / Panduan

Detik Unix, tanggal ISO, dan offset: satu titik waktu

Cap waktu Unix dan tanggal ISO dapat menunjuk titik waktu yang sama. Periksa satuan detik serta offset sebelum membandingkan keduanya.

Instan, jam membaca dan unit

Sebuah timestamp Unix adalah jumlah detik relatif terhadap epoch Unix pada 1970-01-01 00:00:00 UTC. Sebuah tanggal-waktu gaya ISO menuliskan bidang kalender dan, ketika mengidentifikasi suatu saat, termasuk offset seperti Z atau +01:00. Pembacaan jam dinding biasa tanpa zona tidak menentukan satu saat yang unik. Juga periksa unit timestamp: browser dan JavaScript Date APIs biasanya menggunakan milidetik, angka seribu kali lebih besar dari Unix detik untuk saat yang sama. MultiVerto Unix tool mengharapkan detik dan menerima hingga tiga tempat desimal untuk milidetik. Ini membuat hasil dalam UTC dengan suffix Z, membuat referensi yang diasumsikan eksplisit.

Satu tahun baru dalam dua jam

Masukkan 1704067200 ke konverter tertanam. Ini mewakili 2024-01-01T00:00:00.000Z. Saat yang sama dapat ditulis sebagai 2024-01-01T01:00:00+01:00: jam lokal satu jam lebih maju, sehingga mengurangi offset satu jam positifnya kembali ke tengah malam UTC. Tempelkan nilai offset-bearing tersebut ke dalam alat ISO-to-Unix yang terhubung dan ia akan mengembalikan 1704067200. Tanggal yang ditulis sebagai 2024-01-01T01:00:00Z akan menjadi waktu yang berbeda, tepat satu jam kemudian. Digit di bagian kalender tidak cukup tanpa akhiran. Pasangan yang bekerja ini adalah tes regresi yang berguna untuk log dan integrasi API.

Tiga representasi mengidentifikasi saat yang sama.
  1. Unix: 1704067200 detik
  2. UTC: 2024-01-01T00:00:00.000Z
  3. Zona waktu: 2024-01-01T01:00:00+01:00

Detik, milidetik dan pecahan

Ketika API mengembalikan cap waktu epoch yang tampak terdiri dari 13 digit, periksa kontraknya: nilai itu mungkin menyatakan milidetik, bukan detik. Jangan menentukan satuan hanya dari panjang angka untuk semua kemungkinan tanggal. Untuk mengubah milidetik menjadi detik, bagi dengan 1000 tanpa membuang pecahan yang diperlukan. Contohnya, 1704067200500 milidetik setara dengan 1704067200,5 detik dan 00:00:00.500Z pada tanggal contoh. MultiVerto menerima paling banyak tiga digit setelah tanda desimal dan menghasilkan waktu ISO dengan ketelitian milidetik. Jika sumber mencatat mikrodetik atau nanodetik, gunakan alat yang sesuai dengan skala itu sebelum membulatkan. Pembulatan terlalu awal dapat membuat dua peristiwa berdekatan tampak terjadi bersamaan.

Offset bukanlah sejarah zona waktu

Offset numerik memberitahu Anda bagaimana jam lokal tertentu berhubungan dengan UTC pada stempel waktu itu. Hal ini tidak menyebutkan wilayah atau menkodekan aturan waktu musim panas di masa depan. Sebuah janji berulang di 09:00 di lokasi yang disebut membutuhkan real time-zone database, bukan +01:00 yang tetap. MultiVerto memerlukan offset eksplisit atau Z untuk input ISO-ke-Unix, mencegah pembacaan lokal yang ambigu. Format yang diterimanya menggunakan tanggal kalender penuh, waktu melalui detik dan tidak lebih dari tiga digit pecahan. Ini menolak tanggal yang tidak sah dan nilai detik genap 60. Itu adalah subset yang sengaja dari notasi tanggal-waktu yang lebih luas, jadi periksa kontrak masukan sebenarnya sebelum menempelkan data eksternal.

Sebuah pemeriksaan konversi bolak-balik yang dapat diandalkan

Tulis nilai sumber, apakah detik atau milidetik, dan zona waktu atau offset yang ditentukan oleh produsen. Konversi stempel waktu ke teks UTC ISO, lalu balikkan string yang tepat dan bandingkan detik numerik. Kemudian, uji ejaan kedua dengan offset eksplisit yang mewakili saat yang sama. Jika nilai berbeda dengan tepat 3600 detik, curiga kesalahan offset satu jam; jika mereka berbeda dengan faktor 1000, curiga skala unit. Jangan mengubah log instan hanya untuk membuat jam yang ditampilkan menyerupai jam lokal Anda. Simpan titik waktu dalam bentuk yang tidak ambigu dan formatnya untuk pengguna hanya pada batas tampilan.

Coba konverter

Konversi detik Unix ke teks ISO UTC, lalu balikkan.

Konversi detik Unix sejak 1970-01-01 UTC ke ISO 8601 UTC tanggal-waktu.

Buka konverter lengkap

Panduan lainnya

Panduan konversi

Jelajahi panduan