0
好吧,這很簡單,但它似乎在做一些我不明白的事情。我想要做的是在下午12點30分進行暫停,暫停下來,例如下午1點,然後計算這些時間之間的小時數。出於某種原因,它給了我十個小時的時間差(設置時間與衝入和超時,這兩個日期字符串)。我想知道是否可以格式化日期錯誤?這裏是代碼:java.util.concurrent.TimeUnit減去日期
public void getDailyHours(){
for (Employee e : employees){
try {
Date date1 = new SimpleDateFormat("MMM DD, YYYY HH:mm:ss a", Locale.ENGLISH).parse(e.getPunchIn());
Date date2 = new SimpleDateFormat("MMM DD, YYYY HH:mm:ss a", Locale.ENGLISH).parse(e.getPunchOut());
long diff = date1.getTime() - date2.getTime();
long diffHours = TimeUnit.MILLISECONDS.toHours(diff);
e.setDailyHours(diffHours);
} catch (ParseException ex) {
Logger.getLogger(EmployeeArray.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
'DD'應'dd'和'HH'應該是由於'A'參考'hh':[DOC](HTTP://文檔。 oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)併發布輸入字符串 –
好的,謝謝。我無法找到日期類的defaultDate的實際格式。這解決了它。 – user3682269