问题描述
我有一个网络应用程序,它使用一个很长的时间戳来订购东西.我的 Web 应用程序后端恰好是用 Java 编写的,所以我正在使用:
long timestamp = System.currentTimeMillis();
这将在哪一年(大约)失败?我的意思是在某个时候, long 的范围会溢出,对吗?我们可能都死了很久,但我只是好奇.会不会再次像 y2k 一样?我可以做些什么来为此做准备?可笑,我知道,只是好奇!
它会在
溢出System.out.println(new Date(Long.MAX_VALUE));
哪个打印
Sun Aug 17 03:12:55 GMT-04:00 292278994
这是在超过 2.92 亿年之后的结果.我想说,同时有充足时间来发明解决方案.老实说,我不指望人性能幸存下来.与以小时为单位的
I have a web app which orders stuff using a timestamp, which is just a long. My web app backend happens to be written in java, so I am using:
long timestamp = System.currentTimeMillis();
what year (approximately) will this fail? I mean at some point, the range of a long is going to overflow, right? We may all be long-dead, but I'm just curious. Will it be like y2k all over again? What can I do to prepare for this? Ridiculous, I know, just curious!
It will overflow at
System.out.println(new Date(Long.MAX_VALUE));
which prints
Sun Aug 17 03:12:55 GMT-04:00 292278994
That's thus after a bit more than 292 million years. I'd say, there's a plenty of time to invent a solution in the meanwhile. To be honest, I don't expect the humanhood to survive this. We exist only a few seconds as compared to the age of the world in hour scale and it won't take long.
这篇关于System.currentTimeMillis() 何时会溢出?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!