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";