好的,这很简单,但它似乎在做一些我不明白的事情。我试着做的是得到一个时间,比如12:30,和暂停,比如下午1点,并计算出两者之间的时间。出于某种原因,它给了我十个小时的差别(设置时间与打孔,而超时与冲孔,这两者都是日期字符串)。我想知道我是不是把日期格式化错了?以下是代码:
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);
}
}
}发布于 2014-07-13 19:00:08
变化
MMM DD, YYYY HH:mm:ss a至
MMM dd, yyyy hh:mm:ss a假设您的字符串输入如下
Jan 21, 2014 10:12:12 AM见
https://stackoverflow.com/questions/24726151
复制相似问题