繁体   English   中英

日历HOUR_OF_DAY在解析12:00时返回0

[英]Calendar HOUR_OF_DAY return 0 when parsing 12:00

当我解析2014-10-06 12:00:00时,为什么下例中的HOUR_OF_DAY日历会显示0,我感到很惊讶。

我知道HOUR是否打印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 ???????

您必须在模式中使用大写字母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) 

有关更多信息,请参见SimpleDateFormat的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM