Integer(32位)的MAX_VALUE
是2_147_483_647
,这是将来的最大时间限制(除非我们切换到64位整数)。
但this网站显示当前时间(毫秒)等于1_423_079_895_486
,并显示正确的时间。
为什么这个值比unix时间的Integer.MAX_VALUE
或最大毫秒值大得多?
我错过了一些基本的东西吗?
答案 0 :(得分:2)
它可能只是使用64位来表示以毫秒为单位的时间。
这并不起眼。我输入的系统有一个64位time_t
类型。
您是否可能假设C类型int
和time_t
的大小必须相同?他们没有。而代表毫秒的32位数字只能跨越不到50天的持续时间。
我们甚至不知道该网站是如何实施的;它可能正在使用一些支持可变宽度整数的脚本语言。