System.currentTimeMillis() 何时会溢出?

2022-08-31 16:45:31

我有一个Web应用程序,它使用时间戳对东西进行排序,这只是一个很长的时间。我的Web应用程序后端恰好是用java编写的,所以我正在使用:

long timestamp = System.currentTimeMillis();

这将在哪一年(大约)失败?我的意思是,在某个时候,多头的范围会溢出,对吧?我们可能都早就死了,但我只是好奇。它会再次像y2k一样吗?我能做些什么来为此做准备?荒谬,我知道,只是好奇!


答案 1

它将溢出

System.out.println(new Date(Long.MAX_VALUE));

哪些印刷品

Sun Aug 17 03:12:55 GMT-04:00 292278994

因此,在超过2.92亿年之后。我想说的是,与此同时,有足够的时间来发明一个解决方案。说实话,我不指望人类能活下来。与世界年龄相比,我们只存在几秒钟,以小时为单位,这不会花很长时间。

enter image description here


答案 2

请尝试运行以下代码:

System.out.println(new Date(Long.MAX_VALUE));

哪个会根据您的区域设置打印类似的东西:

Sun Aug 17 17:12:55 EST 292278994

很长一段时间,所以不用担心溢出。


推荐