我需要能够将 Ubuntu (8.04.4 LTS) 上的日期设置为 2040 年(以测试与此问题无关的内容)。这可能吗?
我可以跑:
$ sudo date -s "15 JAN 2038 18:00:00"
Fri Jan 15 18:00:00 PST 2038
...但:
$ sudo date -s "15 JAN 2039 18:00:00"
date: invalid date `15 JAN 2039 18:00:00'
这个限制是在 2038 年的某个时间(或 2039 年 1 月 15 日之前)吗?这会随着 Linux 的不同版本而改变吗?
答案1
在以 32 位整数表示时间的系统中,不是。请参阅http://en.wikipedia.org/wiki/Year_2038_problem了解更多详情。根据该文章,大多数系统可以表示的最晚时间是 2038 年 1 月 19 日星期二 03:14:07 UTC。
请注意,大多数 64 位系统已经使用 64 位来存储时间,因此一旦升级就不会出现问题(无论如何您都应该这样做,这样您就可以在新的快速机器中使用您购买的所有 RAM)。