Java 日期 getTime 函数 returns 负值
Java Date getTime function returns negative value
我正在将字符串转换为日期,然后将其转换为整数值,以便更轻松地比较日期。这是我的代码:
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz",Locale.US);
lastModified = "Sun, 02 Oct 2011 18:38:26 GMT";
Date date = format.parse(lastModified);
lastModifiedDate = (int) date.getTime();
然后,我打印了 lastModifiedDate,它是 (-974253872),我知道它应该是从 1970 年 1 月 1 日开始的以毫秒为单位的时间,但它是负值,所以发生了什么?
感谢您的帮助。
date.getTime()
returns一个long
。如果你把它转换成int
,它可能会因为溢出而变成负数。
如果您将代码更改为:
long lastModifiedDate = date.getTime();
您将得到一个正值 - 1317580706000 - 不能放入 int 变量中。
我正在将字符串转换为日期,然后将其转换为整数值,以便更轻松地比较日期。这是我的代码:
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz",Locale.US);
lastModified = "Sun, 02 Oct 2011 18:38:26 GMT";
Date date = format.parse(lastModified);
lastModifiedDate = (int) date.getTime();
然后,我打印了 lastModifiedDate,它是 (-974253872),我知道它应该是从 1970 年 1 月 1 日开始的以毫秒为单位的时间,但它是负值,所以发生了什么?
感谢您的帮助。
date.getTime()
returns一个long
。如果你把它转换成int
,它可能会因为溢出而变成负数。
如果您将代码更改为:
long lastModifiedDate = date.getTime();
您将得到一个正值 - 1317580706000 - 不能放入 int 变量中。