我正在将一个String转换为一个日期,然后将其转换为整数值以使日期之间的比较更容易.这是我的代码:
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();
Run Code Online (Sandbox Code Playgroud)
然后,我打印机lastModifiedDate,它是(-974253872),我知道它应该是1970年1月1日以毫秒为单位的时间,但它是负值,所以发生了什么?
谢谢你的帮助.
Era*_*ran 10
date.getTime()返回一个long.如果将其投射到int,则可能因溢出而变为负值.
如果您将代码更改为:
long lastModifiedDate = date.getTime();
Run Code Online (Sandbox Code Playgroud)
你会得到一个正值 - 1317580706000 - 它不能适合int变量.
| 归档时间: |
|
| 查看次数: |
5407 次 |
| 最近记录: |