10000年问题

10000年问题（，简称）是所有软件可能在表示五位数年份时发生的问题的总称。在2000年问题引起人们关注的一段时间中，10000年问题曾被以幽默的方式被人们在媒体中披露。实际上，在10000年时，由于未来科技及软件的进步－不再只以少数四位数字-{表}-示年份，这可能不再是个问题，也不会发生。

 需处理日期之软件可能发生的问题 
许多需处理日期的程序会在2000年时将年份错误显示为1900年、19100年或100年，因为工程師直接在以两位数记录的年份前面加上「19」以简化程式或节省記憶體空间。这类的日期显示错误不太可能在10000年来临时再度发生，因为这种记录方式在此时是没有用处的。然而，部份程序在处理日期时只会显示末尾4码的年份。这可能会导致10000年被显示为“0000年”。

这个问题可以在今日相当普及的试算表软件Microsoft Excel中发现。因为它以「自1899年12月31日起经过的天数」来储存日期（以此规则，第1天是1900年1月1日）。在資料庫軟體Microsoft Access中也有同样的问题。它以“自1899年12月30日起经过的天数”来储存日期（第一天是1899年12月31日）。在上述任一个程序中，输入第2958465天会产生日期9999年12月31日。

对此数值再加1（即2958466）则会造成程式語言中的溢位（Excel中為顯示一列#號），但事实上，2958465的二进制表示为101101'00100100'10000001，而2958466则是101101'00100100'10000010。这两个值在二进制中皆为22位数。在这些软件中提及的溢位问题最有可能是源于它们的浮點數表示法（在Excel中，第1.5天是1900年1月1日的12:00:00）。它们可能被以变种的IEEE浮点标准存储。而此一部份之数字有23位数的空间。 

恒今基金会正尝试促进以5位数书写／记录年份的习惯。也就是說，2000年将会被记录为“02000”，如此将能預防10000年問題（一萬年蟲問題），但这將再次遇到100000年问题（十萬年蟲問題），以及所有10的6次方及以上年份。

 有记录的问题 	
2000年问题因为以2位数字表示4位数年份，而前两位的"世纪"年份无法被正确决定而产生。被记录的年份应该加上2位的"世纪"年份以解决此问题。10000年问题不需要更新任何旧纪录，因为4位数字已经足够纪录4位数的年份。它将只需要新的纪录方式以记录5位数年份。然而，仍然有一个在使用字典序（lexical sorting）记录时可能会发生的问题。例如：在表示10000年的日期时，它可能会出现在1000年的旁边，而不是在9999年的旁边。

 参见 
2000年问题
2038年问题
民國百年蟲

 外部链接 
 RFC2550: Y10K and beyond—一份在1999年愚人节發行的RFC文件，但是有很多實用的資料
 Computer systems worry over pending "year 10,000" problem
 某用户亲自测试10000年问题

Category:程式錯誤
Category:年問題
Category:未来问题