Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.util.concurrent.TimeUnit减去日期_Java_Date_Datetime_Simpledateformat - Fatal编程技术网

java.util.concurrent.TimeUnit减去日期

java.util.concurrent.TimeUnit减去日期,java,date,datetime,simpledateformat,Java,Date,Datetime,Simpledateformat,好的,这相当简单,但它似乎在做一些我不理解的事情。我想做的是计算一个时间,比如说12:30,一个暂停,比如说1点,然后计算这两个时间之间的时间。出于某种原因,它给了我十个小时的时间差(用打卡输入设置时间,用打卡输出设置超时,两者都是日期字符串)。我想知道我是否把日期格式化错了?代码如下: public void getDailyHours(){ for (Employee e : employees){ try { Date date1 = ne

好的,这相当简单,但它似乎在做一些我不理解的事情。我想做的是计算一个时间,比如说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);
        }


        }


}
改变

假设您的字符串输入是

 Jan 21, 2014 10:12:12 AM


DD
应该是
DD
并且
HH
应该是
HH
,因为
a
请参考:并张贴输入字符串OK,谢谢。我找不到date类的defaultDate的实际格式。这就解决了问题。
MMM dd, yyyy hh:mm:ss a
 Jan 21, 2014 10:12:12 AM