美好的一天,
以下是我的示例代码:
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) );
这给了我正确的输出,但我不确定我是以愚蠢的方式做到的。我相信它应该是另一种最佳实践,并且很聪明。请建议。
答案 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})", "");