【问题标题】:how to find difference between two time values in android?如何在android中找到两个时间值之间的差异?
【发布时间】:2012-12-25 09:09:59
【问题描述】:
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");

try {
    Date date = (Date) format.parse(a);
    Date date1 = (Date) format.parse(b1);
    Date date2 = (Date) format.parse(c);

    long diff1 = date1.getTime()-date.getTime(); 
    long diff2 = date2.getTime()- date.getTime();

    bundle.putLong("df1", diff1);
    bundle.putLong("df2", diff2);

} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

我已经尝试了上面的代码来查找两个时间值之间的差异,但是它不起作用,这个错误来了:

12-25 09:00:56.537: W/System.err(1642): java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

【问题讨论】:

    标签: android datetime date-difference


    【解决方案1】:
    java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
    

    => 检查你的导入,正确的是java.util.Date

    【讨论】:

      【解决方案2】:

      你可以尝试如下图

        java.sql.Date date = new java.sql.Date(format.parse(a));
        java.sql.Date date1 = new java.sql.Date(format.parse(b1));
        java.sql.Date date2 = new java.sql.Date(format.parse(c));
      

      【讨论】:

        【解决方案3】:

        我建议您使用出色的 Joda Time 库,而不是有缺陷的 java.util.Date 和朋友。你可以简单地写

        import java.util.Date;
        import org.joda.time.DateTime;
        import org.joda.time.Days;
        
        Date past = new Date(110, 5, 20); // June 20th, 2010
        Date today = new Date(110, 6, 24); // July 24th 
        int days = Days.daysBetween(new DateTime(past), new DateTime(today)).getDays();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-12-31
          • 2015-03-22
          • 1970-01-01
          • 1970-01-01
          • 2021-11-11
          • 2013-01-02
          • 2017-09-07
          • 1970-01-01
          相关资源
          最近更新 更多