Dipercayai tahun 2038 akan menyebabkan beberapa software akan gagal berfungsi. ini disebabkan oleh "rounding error" apabila software yang didevelop dengan C yang gunekan fungsi time_t. time_t ni adalah datatype (defined dari time.h) yang 'diakui' oleh ISO C yang diukur dari 1 Januari 1970.
dalam C, nilai maksimum untuk signed integer (32-bit) adalah 2,147,483,647 (hex: 0x7FFFFFFF). so, the problem is apabila tiba masa (int a = 0x7FFFFFFF) iaitu pada 3:14:7 pagi 19 Januari 2038. dan untuk saat berikutnye, iaitu a+1, a akan jadi 0x80000000, tapi disebabkan melebihi had maksimum untuk integer, maka "DateTime" akan direset balik ke tahun 1901 (sebab value a sekarang jadi -2,147,483,648). haha
kebanyakkan sistem unix 32-bit akan mengalami masalah ini, disebabkan hampir keseluruhan applikasi unix dibangunkan dengan C.
.NET
program yang dibangunkan dengan .NET pulak 'selamat' dari problem ini disebabkan DateTime (structure untuk hold time) akan return data type long (maksimum value untuk long/int64 adalah 9,223,372,036,854,775,807) - unless kalo ade sape sape yang main main dengan date gune COM object.
Kalo nak tau lebih lanjut, baca la reference reference kat bawah ni:
huyo ilmuan sungguh abg FA kiat...java lak cane...cam solaris tuh...
BalasPadamJava? sori ar, tak main la java. ahaha
BalasPadamnanti aku try cari pasal java lak. kalo ade, aku update kat sini :p
ko tak balik umah lagi ke?
"During the year 2038. We can solve the problem by making the time_t data type a 64-bit integer. If it is currently a 32-bit integer, applications will have to be recompiled to work properly. But the problem is worse. Some file systems and backup media store times in 32-bit integers. These would need to be updated as well, but we still need to be able to read the old format."
BalasPadamsource http://safari.java.net/0201433079/app03
ahaha java lah yg bagi aku duit makan...
BalasPadam