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

我的日志猫:

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()返回java.util.Date一个。java.sql.Date仅当您使用 SQL 时才有用 - 如果是这样,您可以将 a 转换java.util.Date为它,如下所示:

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