Java程序员为什么要关心2038年的bug呢?

sas*_*ivi 13 java unix date year2038

2038年的Bug已经遍布网络,但这似乎是一个unix问题.这将如何影响Java Date?

Mat*_*hen 29

是什么让你觉得它呢?Java的Date类存储64位long(不是32位,与Y2K38一样).它还存储毫秒,这会缩小范围,但只会略微(相当于~10位).

在Java中,我们有292278994年的错误.

  • +1 - 但肯定 Unix 上的 Java 有时需要与底层 O/S 讨论日期。不太可能是真正的问题(直到 2038 年),但也许值得一提。 (2认同)

Joh*_*n O 5

Java 和时间不仅仅局限于 Date 类。

日期/时间通常来自哪里?通常来自 System.currentTimeMillis,这是一个本机方法。它通常不是用 Java 实现的。返回类型是 long,但这意义不大,因为本机方法可以返回任何适合 long 的值。

这完全取决于操作系统及其 JRE 的实现。

依赖 64 位系统的存在可能很天真,因为显然有许多嵌入式系统是 32 位的,并且将继续如此。

总的来说,Java 暴露于 2038 问题。