-1

時間の計算に誤りがあります

時間計算の経験があまりないので、助けていただければ幸いです

エラーを実行する私のコード

Calendar c = Calendar .getInstance();

    //uur ophalen
    SimpleDateFormat uf = new SimpleDateFormat("HH:mm");
    String stoptijd =uf.format(c.getTime());

    //datum ophalen
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    String datum = df.format(c.getTime());

    //werknemernummer ophalen
    // TODO
    int werknemer = 5;

    //uitrekenen hoeveel totaaluren moet zijn
    String Starttijd = bezur.leesbegintijd(bezoeknummer);
    SimpleDateFormat datumberekening = new SimpleDateFormat("HH:mm");

    long werktijd = 0;

        try {
            Date stopt = (Date) datumberekening.parse(stoptijd);
            Date startt;

            startt = (Date) datumberekening.parse(Starttijd);
            werktijd = stopt.getTime() - startt.getTime();

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

私のlogcat:

10-28 19:54:11.914: E/AndroidRuntime(23145): FATAL EXCEPTION: main
10-28 19:54:11.914: E/AndroidRuntime(23145): java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
10-28 19:54:11.914: E/AndroidRuntime(23145):    at com.example.deceunincktechniekers.bezoekrapporten.stopwerkuren(bezoekrapporten.java:200)
10-28 19:54:11.914: E/AndroidRuntime(23145):    at com.example.deceunincktechniekers.bezoekrapporten.handlescan(bezoekrapporten.java:117)
10-28 19:54:11.914: E/AndroidRuntime(23145):    at com.example.deceunincktechniekers.bezoekrapporten$1.onEditorAction(bezoekrapporten.java:51)

何がより良くできるでしょうか?? 前もって感謝します

4

1 に答える 1

3

間違ったクラスをインポートしています。java.sql.Dateは とは異なりjava.util.Dateます。はSimpleDateFormat.parse()a を返しますjava.util.Datejava.sql.Dateは、SQL を使用している場合にのみ役立ちます。その場合はjava.util.Date、次のように a をそれに変換できます。

java.sql.Date sqlDate = new java.sql.Date(datumberekening.parse(stoptijd).getTime());
于 2013-10-28T20:10:28.043 に答える