Masa Unix Langsung (Masa Unix Semasa)

1789468834

Detik sejak Epoch Unix (00:00:00 UTC pada 1 Januari 1970)

Penukar Cap Waktu Unix

Timestamp ke Tarikh

Saat atau milisaat dikesan secara automatik.

Tarikh ke Timestamp

Pilih tarikh dan masa untuk menukarkannya kepada cap waktu Unix.

Format Waktu Unix

Masa semasa yang sama dinyatakan dalam beberapa format biasa, dikemas kini secara langsung:

Format Nilai Semasa
Cap masa Unix (saat)
Cap waktu Unix (milisaat)
ISO 8601 (UTC)
RFC 2822 (UTC)

Apa Itu Masa Unix?

Masa Unix (juga dikenali sebagai Epoch time, POSIX time, atau timestamp Unix) adalah sistem untuk menerangkan satu titik masa. Ia adalah bilangan detik yang telah berlalu sejak Epoch Unix, yang ditakrifkan sebagai 00:00:00 UTC pada hari Khamis, 1 Januari 1970. Ia digunakan secara meluas dalam sistem operasi berasaskan Unix dan banyak sistem pengkomputeran lain.

Kelebihan utama masa Unix adalah kesederhanaannya. Ia mewakili masa sebagai satu nombor bulat yang difahami secara universal dan sentiasa meningkat. Ini memudahkan penyimpanan, perbandingan, dan pengiraan dengan cap masa tanpa perlu risau tentang zon waktu, waktu musim panas, atau sistem kalendar yang berbeza. Contohnya, untuk mencari jarak antara dua peristiwa, anda hanya tolak timestamp Unix mereka.

Walaupun nombor mentah ini sesuai untuk komputer, ia tidak begitu mesra manusia. Untuk mengatasi hal ini, pembangun dan penggemar teknologi menggunakan alat yang dipanggil penukar epoch. Anda boleh menggunakannya untuk menukar sebarang timestamp kepada tarikh yang boleh dibaca manusia, atau sebaliknya dengan mencari timestamp untuk tarikh tertentu.

Masalah Tahun 2038

Satu isu terkenal berkaitan masa Unix ialah "Masalah Tahun 2038." Ia serupa dengan masalah Y2K. Banyak sistem komputer awal direka untuk menyimpan timestamp Unix sebagai nombor bulat bertanda 32-bit. Nombor bulat bertanda 32-bit boleh mewakili nilai dari -2,147,483,648 hingga 2,147,483,647.

Nilai maksimum, 2,147,483,647, akan dicapai pada 03:14:07 UTC pada 19 Januari 2038. Pada saat detik berikutnya, nombor akan melimpah dan kembali ke nilai paling negatif, yang akan ditafsirkan oleh sistem sebagai tarikh pada tahun 1901. Ini boleh menyebabkan kegagalan meluas dalam perisian lama yang bergantung kepada representasi masa 32-bit.

Penyelesaiannya adalah menggunakan nombor bulat 64-bit untuk menyimpan timestamp. Nombor 64-bit mempunyai nilai maksimum yang sangat besar sehingga tidak akan melimpah dalam kira-kira 292 bilion tahun, secara efektif menyelesaikan masalah ini untuk masa depan yang dapat diramalkan. Kebanyakan sistem operasi dan perisian moden telah beralih kepada representasi masa 64-bit.

Saat Lompat dan Masa Unix

Satu butiran teknikal penting ialah masa Unix tidak mengambil kira saat lompat. Walaupun UTC (Waktu Universal Terkoordinasi) kadang-kadang menambah satu saat lompat untuk memastikan jam kita selaras dengan putaran Bumi, timestamp Unix hanya mengabaikannya dan terus mengira secara linear.

Ini bermakna masa Unix bukanlah representasi sebenar UTC. Sebaliknya, ia lebih tepat digambarkan sebagai kiraan linear detik. Apabila berlaku saat lompat, masa Unix kadang-kadang mengulangi satu saat untuk kekal selaras. Nuansa ini penting untuk aplikasi saintifik dan ketepatan tinggi, tetapi untuk kebanyakan pengiraan umum, perbezaannya tidak ketara.

Penggunaan Umum Masa Unix

  • Cap Masa Fail: Sistem pengendalian menggunakan timestamp Unix untuk mengesan bila fail dibuat, diubah, atau diakses terakhir.
  • Pangkalan Data: Ia adalah cara yang biasa dan cekap untuk menyimpan maklumat tarikh dan masa untuk rekod (contoh, created_at, updated_at).
  • API dan Pembangunan Web: Digunakan untuk tamat tempoh sesi, kawalan cache, dan pencatatan permintaan API.
  • Pengaturcaraan: Hampir setiap bahasa pengaturcaraan menyediakan fungsi untuk mendapatkan timestamp Unix semasa dan menukarnya kepada dan dari format tarikh yang boleh dibaca manusia.

Soalan Lazim

Apakah itu Unix epoch?

Epoch Unix ialah saat masa bermula untuk sistem Unix: 00:00:00 UTC pada 1 Januari 1970. Cap waktu Unix hanyalah bilangan saat yang telah berlalu sejak saat itu.

Mengapa Unix time bermula pada 1 Januari 1970?

Tarikh tersebut dipilih oleh pembangun awal Unix sebagai titik permulaan yang mudah dan bulat, hampir dengan masa sistem itu dicipta pada awal 1970-an. Ia telah menjadi titik rujukan piawai sejak itu.

Adakah masa Unix dalam UTC?

Masa Unix dikira dari satu titik mula (epoch) yang ditetapkan dalam UTC dan bebas zon waktu, jadi cap masa yang sama bermaksud detik yang sama di mana-mana sahaja. Oleh kerana ia mengabaikan saat lompat, ia lebih baik digambarkan sebagai kiraan linear saat dan bukannya perwakilan UTC yang sempurna.

Apakah perbezaan antara saat dan milisaat?

Waktu Unix piawai mengira detik penuh sejak zaman, yang mana 10 digit untuk tarikh semasa. Banyak sistem, termasuk JavaScript, mengira milisaat sebaliknya, menghasilkan nilai 1,000 kali lebih besar dengan 13 digit.

Apakah Masalah Tahun 2038?

Sistem yang menyimpan cap masa dalam integer bertanda 32-bit hanya boleh mengira sehingga 03:14:07 UTC pada 19 Januari 2038, selepas itu nilainya melimpah dan disalah baca sebagai tarikh pada tahun 1901. Penyelesaiannya adalah dengan menyimpan cap masa dalam integer 64-bit.

Masa sekarang di bandar-bandar ini:

New York · London · Tokyo · Paris · Hong Kong · Singapura · Dubai · Los Angeles · Shanghai · Beijing · Sydney · Mumbai

Masa sekarang di negara-negara:

🇺🇸 AS | 🇨🇳 China | 🇮🇳 India | 🇬🇧 United Kingdom | 🇩🇪 Jerman | 🇯🇵 Jepun | 🇫🇷 Perancis | 🇨🇦 Kanada | 🇦🇺 Australia | 🇧🇷 Brazil |

Masa sekarang di zon waktu:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | China (CST) | JST | AEST | SAST | MSK | NZST |

Percuma widget untuk pentadbir web:

Widget Jam Analog Percuma | Widget Jam Digital Percuma | Widget Jam Teks Percuma | Widget Jam Perkataan Percuma