我的计算时间错误
因为我没有很多时间计算经验,所以有一些帮助
运行错误的代码
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)
什么可以做得更好? 提前谢谢
答案 0 :(得分:3)
您导入的是错误的班级,java.sql.Date
与java.util.Date
不同。 SimpleDateFormat.parse()
会返回java.util.Date
。 java.sql.Date
仅在您使用SQL时才有用 - 如果是这样,您可以按如下方式将java.util.Date
转换为它:
java.sql.Date sqlDate = new java.sql.Date(datumberekening.parse(stoptijd).getTime());