在 C 语言里面,时间是以一个有号的整数储存。标准的C语言编译器中,整数 int 的大小为 232,因为是有号数,所以整数的范围是从 -231 到 231-1。
距离1900年越久,time()函数所传回的秒数也会越大,当超过 231-1时,就会产生溢位(over flow),此时计数器就会发生问题。而 231-1 为 2147483647,正是到 2038 年 1 月 19 日的秒数,所以那些以C语言为主撰写出来的操作系统,如:Unix,都会挂彩。
除非必要,请不要在回复时留下您的敏感资讯 (电话、email、地址等)