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

2 つの時間値の差を見つけるために上記のコードを試しましたが、機能しません。次のエラーが発生します。

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

3 に答える 3

0
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

=>インポートを確認してください。正しいものはjava.util.Date

于 2012-12-25T09:11:57.410 に答える
0

あなたは以下のように取得しようとすることができます

  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));
于 2012-12-25T09:17:09.880 に答える
0

欠陥のある java.util.Date などの代わりに、優れた Joda Time ライブラリを使用することをお勧めします。あなたは単に書くことができます

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();
于 2012-12-25T09:22:14.583 に答える