4 poin oleh GN⁺ 2023-11-12 | 1 komentar | Bagikan ke WhatsApp
  • Masuknya timestamp Unix ke kisaran 1,7 miliar berarti jumlah detik yang terakumulasi sejak 1 Januari 1970 UTC sudah mencapai angka tersebut; nilai contohnya ditampilkan sebagai 1782553539
  • Alat konversi mengubah timestamp menjadi GMT, zona waktu pengguna, dan waktu relatif, serta mendukung satuan detik, milidetik, mikrodetik, dan nanodetik
  • Waktu yang sama juga ditampilkan dalam ISO 8601 dan berbagai format RFC, sehingga memudahkan pengecekan perbedaan representasi tanggal antar-sistem
  • Karena timestamp Unix menunjuk ke titik waktu yang sama terlepas dari lokasi, ini berguna untuk pelacakan dan pengurutan informasi tanggal dalam aplikasi terdistribusi
  • Pada 19 Januari 2038, overflow 32-bit akan menjadi masalah, sehingga aplikasi perlu mengadopsi konvensi timestamp baru atau bermigrasi ke sistem 64-bit

Dasar dan cara konversi timestamp Unix

  • Timestamp Unix adalah cara menangani waktu sebagai nilai akumulasi dalam satuan detik
    • Titik acuannya adalah Unix Epoch pada 1 Januari 1970 UTC
    • Jumlah detik yang berlalu antara tanggal tertentu dan Unix Epoch menjadi nilai timestamp
    • Nilai ini menunjuk ke titik waktu yang sama di mana pun pengguna berada di Bumi
  • Alat konversi pada halaman ini mendukung input timestamp maupun input tanggal/waktu
    • Timestamp dapat dimasukkan dalam satuan detik, milidetik, mikrodetik, dan nanodetik
    • Tanggal/waktu dikonversi menjadi timestamp Unix dengan memasukkan tahun, bulan, hari, jam dalam format 24 jam, menit, dan detik
    • Hasilnya dapat dilihat dalam format GMT, zona waktu pengguna, dan waktu relatif

Format waktu standar yang ditampilkan bersama

  • Contoh epoch saat ini disediakan bersama beberapa format waktu standar

Konversi satuan waktu dan masalah tahun 2038

  • Halaman ini menampilkan konversi satuan waktu yang mudah dibaca manusia ke jumlah detik dalam timestamp Unix
    • 1 jam: 3600 detik
    • 1 hari: 86400 detik
    • 1 minggu: 604800 detik
    • 1 bulan, berdasarkan 30,44 hari: 2629743 detik
    • 1 tahun, berdasarkan 365,24 hari: 31556926 detik
  • Pada 19 Januari 2038, timestamp Unix akan berhenti berfungsi akibat overflow 32-bit
    • Sebelum itu, jutaan aplikasi harus mengadopsi konvensi timestamp baru
    • Atau bermigrasi ke sistem 64-bit untuk memperpanjang periode penggunaan timestamp

1 komentar

 
GN⁺ 2023-11-12
Komentar Hacker News
  • 100 juta detik berlalu terlalu cepat
    Sebagai referensi, halaman depan New York Times pada Unix timestamp 1600000034 ada di sini:
    https://web.archive.org/web/20200913122714/https://www.nytim...
    Dan untuk 1500000301, 1400000634, 1300007806 masing-masing ada di sini:
    https://web.archive.org/web/20170714024501/http://www.nytime...
    https://web.archive.org/web/20140513170354/http://www.nytime...
    https://web.archive.org/web/20110313091646/http://www.nytime...

    • 3,17 tahun.
  • Unix timestamp 1 600 000 000 juga belum terlalu lama, yaitu 2020-09-13 12:26:40 UTC
    Diskusi HN saat itu ada di sini: https://news.ycombinator.com/item?id=24452885
    Tulisan blog saya untuk memperingati peristiwa itu ada di sini: https://susam.net/maze/unix-timestamp-1600000000.html
    Karena 100 000 000 detik kira-kira 3 tahun 2 bulan, peristiwa seperti ini terlihat sekali setiap beberapa tahun
    Menurut saya peristiwa paling spektakuler yang masih tersisa adalah Unix timestamp 2 000 000 000, yang masih 9 tahun setengah lagi: 2033-05-18 03:33:20 UTC. Hal seperti ini hanya terjadi kira-kira sekali setiap 33 tahun 8 bulan
    Di Python, 1700000000 muncul seperti ini:
    $ python3 -q

    from datetime import datetime
    datetime.utcfromtimestamp(1_700_000_000)
    datetime.datetime(2023, 11, 14, 22, 13, 20)

    GNU date (Linux):
    $ date -ud @1700000000
    Tue Nov 14 22:13:20 UTC 2023
    BSD date (macOS, FreeBSD, OpenBSD, dll.):
    $ date -ur 1700000000
    Tue 14 Nov 2023 22:13:20 UTC

    • 33 tahun! Pada akhir 90-an saya menghabiskan waktu bermain MUD, dan entah kenapa banyak file save yang memakai epoch timestamp sebagai nama file
      Ketika saya memegang sebagian codebase, saya banyak menangani file-file itu, dan semuanya berupa angka di kisaran 800 jutaan sampai 900 jutaan
      Pada suatu titik, hanya dengan melihat angka di kisaran itu, saya langsung punya gambaran kira-kira tahun dan bulan berapa, dengan selisih hanya beberapa minggu
      Lingkungan yang aneh menumbuhkan kekuatan super yang aneh
      [0] https://en.wikipedia.org/wiki/Multi-user_dungeon
    • Peristiwa yang lebih spektakuler adalah saat mencapai angka rapi 2,147,483,648 pada Januari 2038
    • Menurut saya 2222222222 lebih istimewa: Sat Jun 02 2040 03:57:02 GMT+0000
      Kalau beruntung, mungkin kita juga bisa melihat 3333333333 secara langsung. Itu akan jadi hari yang luar biasa
  • Ini saat yang pas untuk membuka https://datetime.store/ sambil mengincar kaus yang sempurna

    • Situs web itu sepertinya bakal benar-benar tumbang pada hari Selasa…
      “Bos! Kita sedang kena DDoS!”
      “Bukan, nak, ini cuma hari Selasa”
    • Kan bisa memakai semacam jam kematian yang menghitung secara statistik kapan kita akan meninggal
      Saya penasaran apakah bisa menemukan kaus yang mencetak waktu itu
    • Saya teringat ide mug kopi 1BTC yang dulu sempat terpikir. Itu masih masa-masa awal ketika Bitcoin pertama kali naik ke 20 ribu dolar
  • Saya begadang untuk melihat peralihan dari 999.999.999 ke 1 miliar, dan berpikir, “minggu ini akan saya ingat seumur hidup”
    Saya tidak tahu bahwa 60 jam kemudian seluruh dunia akan mengingat minggu itu

    • Timestamp 1000000000 (Sat 2001-09-08 18:46:40 PDT) menyebabkan bug di sistem pelaporan bug Remedy yang kami pakai saat itu
      Sistem menyimpan detik sejak epoch sebagai string, dan berasumsi bahwa nilainya muat dalam 9 digit
      Ketika mencapai 1000000000, sistem mulai memotong digit terakhir, sehingga kembali ke Sat 1973-03-03 01:46:40 PST dan bergerak maju dengan kecepatan 10% dari waktu sebenarnya. Itu diperbaiki cukup cepat
    • Saya tidak ingat kalau jaraknya sedekat itu, tetapi pada masa itu saya membaca Slashdot secara obsesif, dan itu juga membantu saat 9/11
      Peristiwa epoch itu pasti juga dibahas
  • Pada 2009 saya pergi ke pertemuan 1234567890 yang diadakan di lobi sebuah hotel di Boston

    • Saya sedang shift malam di trading floor sebuah bank besar
      Kepala tim dukungan teknis derivatif memberi tahu bahwa momen itu akan segera tiba, jadi saya membuka shell lalu menjalankan perintah watch dan perintah date yang menampilkan detik epoch untuk menyaksikan momen tersebut
      Setelah itu saya kembali bekerja
    • Saya ingat momen itu! Saat itu saya berada di semacam bar, tapi sudah bersiap, jadi saya membawa laptop
      Supaya tidak terlewat, saya terus menekan panah atas dan Enter
  • Salah satu bagian favorit saya dari A Deepness in the Sky karya Vinge adalah penggunaan waktu desimal: satuan seperti ksec, Msec
    Ada skala log yang keren yang menunjukkan konversi antara waktu Bumi dan waktu desimal

    • Benar! Berkat buku itu, sekarang saya tahu tanpa perlu mencari lagi bahwa ksec kira-kira 15 menit dan Msec kira-kira 2 minggu
      Ternyata cukup sering berguna untuk perhitungan kasar
      Saya sudah tahu dari pengamatan Tom Duff bahwa Gsec kira-kira sepertiga abad
      Rasanya kita tidak akan segera beralih secara umum ke sistem seperti ini. Satuan yang terhubung dengan ritme biologis terlalu nyaman
      Meski begitu, agak mengejutkan juga bahwa ini tidak lebih sering muncul saat membahas manusia di luar angkasa
      [0] "How many seconds are there in a year? If I tell you there are 3.155 x 10^7, you won't even try to remember it. On the other hand, who could forget that, to within half a percent, pi seconds is a nanocentury." --Tom Duff
    • Para arkeolog perangkat lunak dalam buku itu salah mengira bahwa epoch time_t bukan sekadar tahun 1970, melainkan merujuk pada pendaratan di Bulan :)
    • Emergents juga bagus. Itu dunia tempat para progresif libertarian menciptakan utopia, dengan tingkat pekerjaan 100%, dan istana berlian untuk semua orang
  • Tersisa 5.148 hari sampai 19 Januari 2038
    Kalau saya masih hidup sampai saat itu, keesokan harinya adalah ulang tahun saya yang ke-65. Jadi saya tiba tepat pada waktunya untuk Armagedon digital

  • Dibanding momen berubahnya notasi desimal, lebih masuk akal memperingati momen bit pada posisi yang relatif tinggi berubah dari 0 menjadi 1

  • Saya suka satuan 100 juta detik
    Lebih panjang dari 1 tahun dan lebih pendek dari 10 tahun. Era 1.6e8 adalah pandemi. Apa yang akan dibawa 1.7e8?

  • Senang melihat orang lain juga antusias dengan hal seperti ini. Jika Anda penggemar UNIX Timeval, coba alat tf ini [1]
    Seorang teman membuatnya dengan C/Lex/Yacc dan saya memakainya setiap hari selama 15 tahun setengah, lalu mem-port-nya ke Golang + Homebrew agar bisa berbagi kesenangan itu
    [1] https://github.com/neomantra/tf
    brew tap neomantra/homebrew-tap
    brew install tf
    Coba mencetak angka-angka bulat seperti ini. tf otomatis mendeteksi pada 10 digit, jadi seq juga saya mulai dari sana

    for TV in $(seq -f %.f 1000000000 100000000 2000000000); do echo $TV $TV | tf -d ; done
    2001-09-08 18:46:40 1000000000
    2004-11-09 03:33:20 1100000000
    2008-01-10 13:20:00 1200000000
    2011-03-12 23:06:40 1300000000
    2014-05-13 09:53:20 1400000000
    2017-07-13 19:40:00 1500000000
    2020-09-13 05:26:40 1600000000
    2023-11-14 14:13:20 1700000000
    2027-01-15 00:00:00 1800000000
    2030-03-17 10:46:40 1900000000
    2033-05-17 20:33:20 2000000000
    Ada juga tanggal-tanggal menarik. -g mendeteksi beberapa item dalam satu baris, dan -d menyertakan tanggal
    echo 1234567890 __ 3141592653 | tf -gd
    2009-02-13 15:31:30 __ 2069-07-20 17:37:33
    Selamat menikmati. Semoga alat ini menghemat waktu Anda untuk mencari tahu waktu!