Pepijat Tahun 2038: Memahami dan Mengurangkan Isu
Pepijat Tahun 2038 berpunca daripada pengehadan dalam perwakilan masa dalam sistem yang bergantung pada integer bertanda 32-bit untuk merekodkan bilangan saat sejak tarikh zaman tertentu (biasanya 1 Januari 1970).
1. Apakah Masalah Tahun 2038?
Apabila perwakilan dalaman mencapai nilai maksimum pada 03:14:07 UTC pada 19 Januari 2038, kiraan akan dibalut kepada nombor negatif, mewakili masa pada 13 Disember 1901. Percanggahan ini timbul daripada had 32-bit integer.
2. Mengapa dan Bagaimana Ia Berlaku
Isu ini berlaku kerana perwakilan dalaman tidak mempunyai kapasiti untuk menyimpan cap masa melebihi had 32-bit. Akibatnya, masa yang melebihi nilai maksimum disalahtafsirkan sebagai tarikh awal.
3. Menyelesaikan Pepijat Tahun 2038
Untuk mengurangkan masalah ini, adalah penting untuk:
4. Alternatif kepada TIMESTAMP
Pertimbangkan untuk memanfaatkan jenis data dengan kapasiti lanjutan, seperti integer 64-bit, untuk mengelakkan isu yang serupa pada masa hadapan.
5. Mencegah Kerosakan dalam Aplikasi Sedia Ada
Untuk aplikasi sedia ada yang bergantung pada TIMESTAMP, pertimbangkan untuk menggunakan strategi untuk mengendalikan limpahan. Strategi ini termasuk:
Atas ialah kandungan terperinci Apakah Masalah Tahun 2038 dan Bagaimana Kita Boleh Menghalang Kesannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!