我目前正在使用SimpleDateFormat(“dd / MM”),例如,今天的日期显示为18/04。但我不想在4之前显示零,即我希望它只是18/4。这是我通过使用SimpleDateFormat(“dd / M”)实现的。
我怀疑的是,10月份将通过Decemeber展示什么?我猜它会截断一个数字,并且每个月只显示1个数字。
我想要的是能够显示这三个月的两位数,但省略所有其他月份的零。除了编写if-then-else代码块之外,有没有直接的方法来完成这项工作?
答案 0 :(得分:0)
通过测试SimpleDateFormat(“dd / M”)几个月,我发现它的行为符合您的预期:在1个月内不添加零,但不会减少2个数月。以下是11月的一个例子:
@Test
public void shouldPrintNovemberWithTwoDigits() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/M");
Date november = DateTime.now().plusMonths(6).toDate();
String expectedDate = "18/10";
String actualDate = simpleDateFormat.format(november);
assertThat(actualDate, is(expectedDate));
}
这是四月(本月)的一个:
@Test
public void shouldPrintAprilWithOneDigit() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/M");
Date april = DateTime.now().toDate();
String expectedDate = "18/4";
String actualDate = simpleDateFormat.format(april);
assertThat(actualDate, is(expectedDate));
}
两个测试都通过了..试试看..