有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Date getTime函数返回负值

我将字符串转换为日期,然后将其转换为整数值,使日期之间的比较更容易。这是我的密码:

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();

然后,我修改了数据,它是(-974253872),我知道它应该是从1970年1月1日开始的毫秒,但它是负值,发生了什么

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    date.getTime()返回一个long。如果将其强制转换为int,它可能会由于溢出而变为负值

    如果您将代码更改为:

    long lastModifiedDate =  date.getTime();
    

    您将得到一个正值1317580706000,它不能放入int变量中