Java 时间和第二期显示1:10而不是13:10

Java 时间和第二期显示1:10而不是13:10,java,unit-testing,junit,jodatime,Java,Unit Testing,Junit,Jodatime,嗨,我有一节课是关于日期的: public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, hh:mm"; public static String formatDate(Date date , String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); String fo

嗨,我有一节课是关于日期的:

public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, hh:mm";


      public static String formatDate(Date date , String pattern) {
            SimpleDateFormat sdf = new SimpleDateFormat(pattern);
            String formatDate = "";
            if(date != null) {
                formatDate = sdf.format(date);
            }
            return formatDate;
        }
我的单元测试如下所示:

@Test
public void testDateFormat(){

      DateTime dateTime = new DateTime(2013, 11, 01, 13, 10, 00, 00); 
      Date date = dateTime.toDate(); 
      Assert.assertEquals("01 November 2013, 13:10", Main.formatDate(date,Main.DATE_DDMMMMYYHHMM_PATTERN)); 


}
虽然我在测试中将时间和秒定义为13:10,但它显示为2013年11月1日,01:10。有什么建议可以让时间和秒显示为13:10


提前感谢您的帮助

将您的小时格式从
hh
更改为
hh

public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, HH:mm";
根据:

试试这个:

public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, HH:mm";
您需要将hh更改为hh

HH
格式以
HOUR(0-23)
表示时间,而HH以
1-12 am/pm
格式表示时间

另外,请检查以供参考

public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, HH:mm";