calendar设置时间为什么是12小时制

public static void main(String[] args) {
Calendar c1 = new GregorianCalendar();
c1.set(Calendar.HOUR_OF_DAY, 0);
c1.set(Calendar.MINUTE, 0);
c1.set(Calendar.SECOND, 0);
System.out.println(c1.getTime().toLocaleString());
Calendar c2 = new GregorianCalendar();
c2.set(Calendar.HOUR_OF_DAY, 23);
c2.set(Calendar.MINUTE, 59);
c2.set(Calendar.SECOND, 59);
System.out.println(c2.getTime().toLocaleString());
}

这样取到的最小时间和最大时间为什么不是00:00:00 到 23:59:59而是当天的12:00:00到第二天的11:59:59?

自己设置一下日期格式

 private String getTime(){  
    Calendar now;  
    SimpleDateFormat fmt;  

    now = Calendar.getInstance();  
    fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
    return fmt.format(now.getTime());  
}