您好我有以下格式日期的课程:
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 ?
提前感谢您提供任何帮助
答案 0 :(得分:1)
将小时格式从hh
更改为HH
public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, HH:mm";
根据docs:
h - Hour in am/pm (1-12)
H - Hour in day (0-23)
答案 1 :(得分:1)
试试这个:
public static final String DATE_DDMMMMYYHHMM_PATTERN = "dd MMMM yyyy, HH:mm";
您需要将hh更改为HH
HH
格式代表HOUR(0-23)
中的时间,而h h代表1-12 am/pm
格式
另请查看Oracle docs以供参考。