SimpleDateFormat格式化日期问题
前言
发现一个问题,经过以下语句处理后,发现12:27:45转换后成为了00:27:45。
DateFormat df = null; if(DATE1.trim().length() == 10){ df = new SimpleDateFormat("yyyy-MM-dd"); }else{ df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); } try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); long time = (dt1.getTime() - dt2.getTime())/(1000); return time; } catch (Exception exception) { exception.printStackTrace(); return (long) 0; }
原来df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");是这句话搞的鬼,这是采用的12小时制,若需采用24小时制则需变为df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");