我很惊讶为什么日历HOUR_OF_DAY
在下面的示例中打印0,当我解析2014-10-06 12:00:00时。
我明白,如果我打印0,但不应该HOUR_OF_DAY打印12?
String dateString = "2014-10-06 12:00:00";
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try
{
cal.setTime(sdf.parse(dateString));
}catch(Exception e)
{}
System.out.print(cal.get(Calendar.HOUR_OF_DAY)); // Print 0 ???????
答案 0 :(得分:6)
您必须在模式中使用大写H
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
由于:
h is Hour in am/pm (1-12)
H Hour in day (0-23)
有关详细信息,请参阅the documentation of SimpleDateFormat