Tag: 可维护性在

我们应该做什么准备2038?

我想认为我今天写的一些软件将在30年内使用。 但是我也意识到,它很多是基于UNIX的传统,把时间暴露在自1970年以来的秒数上。 #include <stdio.h> #include <time.h> #include <limits.h> void print(time_t rt) { struct tm * t = gmtime(&rt); puts(asctime(t)); } int main() { print(0); print(time(0)); print(LONG_MAX); print(LONG_MAX+1); } 执行结果在: Thu Jan 1 00:00:00 1970 8月30日星期六18:37:08 2008年 1月19日星期二03:14:07 2038 星期五十二月十三日20:45:52 1901 函数ctime(),gmtime()和localtime()都以一个时间值作为自variables的时间值(1970年1月1日的UTC时间00:00:00;参见时间(3))。 我想知道在程序员这方面是否有什么主动的做法,或者我们相信所有的软件系统(也就是操作系统)在未来会如何神奇地升级呢? 更新这似乎确实是64位系统是安全的: import java.util.*; class TimeTest { public static void main(String[] args) { print(0); […]