SimpleDateFormat格式设置24小时制时

本来是计算与08:00之间的半小时数,结果遇到时间是12:00的结果居然是-8

 String startDate = "12:00";
 String endDate = "20:30";
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm");
 try {
       Date parse = simpleDateFormat.parse(startDate);
       System.out.println(parse);
       System.out.println(parse.getTime() / (1000 * 60 * 30  )+1);
       Date parse1 = simpleDateFormat.parse(endDate);
       System.out.println(parse1.getTime() / (1000 * 60 * 30  )+1);
     } catch (ParseException e) {
            e.printStackTrace();
}
-------结果
Thu Jan 01 00:00:00 CST 1970
-15
26

最后发现是给SimpleDateFormat的时间格式给错了,但其实细心的小伙伴看的话,其实endDate哪里其实是20.30不属于12小时制,但SimpleDateFormat还是给我们转换成了对的时间(需要注意的是00:00、08:00、12:00、24:00)。

SimpleDateFormat格式设置24小时制时,HH代表24小时制,hh代表12小时制

你可能感兴趣的:(Java,java)