将MMyyyy格式化为MMyy的最佳实践

时间:2015-01-26 03:49:46

标签: java simpledateformat

美好的一天,

以下是我的示例代码:

String month = "09";

String year = "2014";

String monthYear = "092014";

monthYear格式为MMyyyy,我希望将其格式化为MMyy。因此,我这样做如下:

方法1:

final SimpleDateFormat oriMonthYear = new SimpleDateFormat( "MMyyyy" );
final SimpleDateFormat changeMonthYear = new SimpleDateFormat( "MMyy" );

String newMonthYear = changeMonthYear.format( oriMonthYear.parse( month + year) );

这给了我正确的输出,但我不确定我是以愚蠢的方式做到的。我相信它应该是另一种最佳实践,并且很聪明。请建议。

2 个答案:

答案 0 :(得分:0)

SimpleDateFormat类用于格式化日期,输入为String,因此您的问题是格式化字符串而不是日期。

我建议像:

private String formatDate(String month, String year) {
  return month + year.substring(2);
}

注意1:你应该验证上面方法中的输入,它只是为了让你快速了解我会做什么。

注意2:您还可以查看String.format(),更多信息here

答案 1 :(得分:0)

如果月份始终采用DDMMYYYY格式,您可以使用:

String newMonthYear = monthYear.replaceAll("(?<=\\d{2})\\d{2}(?=\\d{2})", "");