Apa Itu Waktu Unix dan Kapan Era Unix?

Apa Itu Waktu Unix dan Kapan Era Unix?

Mengapa Unix memiliki konsep waktu sendiri? Apa zamannya dan apa masalah Y2038?





Waktu Unix adalah sarana untuk mewakili tanggal dan waktu tertentu, yang digunakan oleh Linux, macOS, dan banyak sistem interoperable lainnya. Ini sangat tersebar luas, sehingga Anda mungkin menggunakannya tanpa menyadarinya. Namun, setelah Anda memahami waktu Unix, Anda akan melihatnya dalam banyak konteks. Beberapa alat dapat membantu Anda bekerja dengan waktu Unix.





Apa Tujuan Waktu Unix?

Waktu Unix adalah hitungan detik total sejak waktu dan tanggal tetap. Ini adalah format tanggal/waktu (atau stempel waktu) yang terlihat berbeda dari tanggal dan waktu yang biasa kita baca. Ini murni untuk alasan efisiensi. Dibutuhkan lebih sedikit ruang untuk menyimpan satu angka yang mewakili detik daripada menyimpan nilai terpisah untuk tahun, bulan, jam, dll.





Tentu saja, dalam istilah modern, perbedaan ruang tidak terlalu jauh. Tetapi pertimbangkan bahwa Unix berasal dari akhir 1960-an ketika penyimpanan yang tersedia jauh lebih kecil. Stempel waktu juga banyak digunakan, sehingga penyimpanannya bertambah. Misalnya, setiap file memiliki tiga stempel waktu yang terkait dengannya.

Formatnya hampir tidak mungkin untuk diterjemahkan di kepala Anda kecuali Anda seorang jenius matematika. Tetapi masih memiliki beberapa keunggulan dibandingkan alternatif yang lebih mudah dibaca seperti Rab, 21 Okt 2015 07:28:00 GMT . Anda dapat memesan dua cap waktu Unix dengan sangat mudah, sekilas. Biasanya juga lebih cepat untuk mengetahui perbedaan antara dua cap waktu. Hal ini terutama berlaku untuk tanggal yang berdekatan, seperti pada hari yang berdekatan.



Tentang Zaman

Jadi, waktu Unix adalah hitungan total detik sejak titik waktu tertentu. Tapi apa titik waktu itu? Nya 00:00:00 UTC pada 1 Januari 1970 . Hal ini sering disebut sebagai Unix Epoch. Pemrogram memilih tanggal ini untuk zaman karena kenyamanan karena itu adalah tanggal putaran terdekat ketika mereka menemukan waktu Unix.

Anda mungkin telah melihat tanggal ini ketika ada yang tidak beres. Ini jelas bug, tetapi yang terlihat sangat aneh ketika menghasilkan tanggal dari sebelum banyak dari kita lahir! Ini benar-benar dapat dimengerti, meskipun, ketika Anda tahu tentang waktu Unix. Jika ada sistem yang mencoba menampilkan stempel waktu yang tidak memiliki nilai apa pun, itu akan sering diterjemahkan ke 0 dan menghasilkan tanggal Epoch yang tepat.





nonton film horor online streaming gratis

Format Data Waktu Unix

Tegasnya, tidak ada satu pun. Tipe data asli adalah bilangan bulat 32-bit, dan ini sering tetap terjadi, bahkan dalam sistem yang jauh lebih kuat.

Tipe data ini memungkinkan nilai untuk menyimpan total 2^32 detik, yang berarti lebih dari 136 tahun. Nilai ini biasanya ditandai, artinya bisa negatif atau positif. Jadi, biasanya mewakili 68 tahun di kedua sisi zaman yaitu 1902-2038.





Ini masih periode terbatas, tentu saja. Tetapi penggunaan utama format stempel waktu adalah untuk konsep seperti modifikasi file. Kebutuhannya sangat banyak untuk mewakili waktu yang dekat dengan masa sekarang, daripada sejarah kuno atau jauh ke masa depan. Bahkan untuk aplikasi seperti kalender, jarang ada kebutuhan untuk mewakili tanggal lebih dari beberapa dekade ke depan.

Namun bukan berarti rentang waktu yang terbatas ini tanpa masalah…

Masalah Tahun 2038

Bug Y2K (salah satu kesalahan pemrograman terburuk dalam sejarah) mempengaruhi sistem komputer yang menyimpan tahun sebagai nilai dua digit. Ketika tahun 2000 datang, sistem seperti itu memperlakukannya seolah-olah itu tahun 1900. Pada kenyataannya, ini tidak separah yang ditakuti, terutama karena banyak orang menghabiskan banyak waktu dan usaha di muka, mempersiapkannya.

Jika Anda memperhatikan di bagian sebelumnya, Anda mungkin telah melihat masalah serupa yang dapat memengaruhi waktu Unix. Nah, waktu Unix memang memiliki masalah datanya sendiri: masalah Y2k38. (Ini sering disebut sebagai masalah, bukan bug; mungkin kami menjadi lebih optimis sejak tahun 2000!) Ketika waktu Unix benar-benar habis pada tahun 2038, sistem akan memperlakukan tanggal baru sebagai 1902 atau 1970. Atau mungkin mereka' akan gagal sama sekali.

Setidaknya masalah ini tidak akan menimpa kita pada tengah malam di Malam Tahun Baru. Detik terakhir waktu Unix 32-bit akan jatuh pada 19 Maret. Pada akhirnya, kami kemungkinan akan memutakhirkan sebagian besar sistem pada tahun 2038 atau mereka akan menjadi usang pada saat itu.

Beberapa Sumber Timestamp Berguna

NS Konverter Zaman site mungkin merupakan konverter stempel waktu paling komprehensif yang tersedia. Ini dimulai dengan menampilkan waktu Unix saat ini—secara real-time—dan menambahkan hampir semua fitur yang bisa dibayangkan di atas itu. Penggunaan utamanya adalah untuk mengonversi antara cap waktu dan tanggal yang dapat dibaca manusia, di kedua arah.

Dan's Tools adalah kumpulan besar aplikasi web yang berguna, salah satunya adalah a konverter stempel waktu . Ini lebih mendasar, tetapi memiliki presentasi yang sangat bersih dan mudah digunakan.

Waktu adalah menghadirkan tampilan lain yang lebih minimalis. Ini menunjukkan waktu dalam sejumlah format, termasuk waktu Unix. Ini termasuk waktu saat ini dalam judul halamannya yang berguna.

Menggunakan Waktu Unix Dengan Alat Baris Perintah

Di Linux dan macOS, tanggal program adalah utilitas inti untuk menangani tanggal/waktu, termasuk cap waktu Unix. Dipanggil tanpa argumen apa pun, ia mengembalikan tanggal/waktu saat ini dalam format yang dapat dibaca manusia:

$ date
Wed Feb 10 12:28:30 GMT 2021

Jika Anda memerlukan tanggal/waktu saat ini dalam waktu Unix, gunakan +%s argumen:

$ date +%s
1612960114

Anda dapat mengonversi dari tanggal yang dapat dibaca manusia menjadi stempel waktu menggunakan -D tandai jika versi Anda tanggal mendukungnya. Sebagian besar versi Linux harus, secara default:

$ date -d 'Jan 2 1970' +%s
82800

Di macOS, tanggal adalah program yang berbeda, yang memerlukan serangkaian flag yang berbeda:

$ date -j -f '%b %d %Y %T' 'Jan 02 1970 00:00:00' '+%s'
82800

Pergi ke arah lain, Anda dapat mengonversi dari stempel waktu Unix menggunakan -R bendera:

$ date -r 1600000000
Sun 13 Sep 2020 13:26:40 BST

Beberapa program lain menggunakan %S format untuk menangani waktu Unix. Misalnya, jika Anda ingin menampilkan tanggal modifikasi file dalam waktu Unix, dengan versi Linux dari ls , Anda dapat menggunakan yang berikut ini:

$ ls -l --time-style=+%s index.tmp.html
-rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html

Cara Menggunakan Waktu Unix dalam Bahasa Pemrograman

PHP memiliki waktu() fungsi yang mengembalikan stempel waktu Unix saat ini. Nya tanggal() fungsi mengambil stempel waktu sebagai argumen kedua:

$ php -r 'echo date('Y-m-d', time());'
2021-02-11

JavaScript mendekati hal-hal dengan cara yang menarik. Ini memiliki Tanggal.sekarang () metode untuk mendapatkan jumlah milidetik sejak zaman Unix. Tentu saja, Anda dapat membaginya dengan 1.000 dan membulatkan hasilnya untuk memberikan waktu Unix yang setara dalam hitungan detik:

> Math.floor(Date.now() / 1000)
1613083012

Memahami Waktu Unix

Waktu Unix adalah konsep sederhana yang muncul di banyak tempat. Setelah Anda memahaminya, Anda mungkin merasa cukup berguna, ketika menghitung perbedaan waktu, misalnya. Anda juga dapat mengenali kapan itu mungkin menjadi penyebab bug tertentu.

Konsep seperti epoch dan timestamps adalah bagian penting untuk memulai dengan Linux. Untuk mengetahui lebih lanjut tentang hal-hal penting seperti ls , lihat panduan kami untuk perintah dasar Linux.

Membagikan Membagikan Menciak Surel 9 Perintah Dasar untuk Memulai Anda Dengan Linux

Ingin mendapatkan keakraban dengan Linux? Mulailah dengan perintah dasar Linux ini untuk mempelajari tugas komputasi standar.

Baca Selanjutnya
Topik-topik yang berkaitan Tentang Penulis Bobby Jack(58 Artikel Diterbitkan)

Bobby adalah penggemar teknologi yang bekerja sebagai pengembang perangkat lunak selama hampir dua dekade. Dia bersemangat tentang game, bekerja sebagai Editor Ulasan di Majalah Switch Player, dan mendalami semua aspek penerbitan online & pengembangan web.

More From Bobby Jack

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan