Joda DateTimeFormatter模式提取月份和年份

时间:2014-12-19 21:42:53

标签: java jodatime

我有这个文本816或1016,需要获得月份和年份

DateTimeFormatter format =  DateTimeFormat.forPattern("Myy");
DateTime instance = format.parseDateTime(expirationDate);
String.valueOf(instance.getMonthOfYear());
String.valueOf(instance.getYear());

预期值应为:

对于第一个案例816

8
16

对于第二种情况1016

10
16

有什么问题?

提前致谢

2 个答案:

答案 0 :(得分:1)

确保输入字符串为4位,即810的情况下。将其设为0810.以下是相同的响应

代码:

DateTimeFormatter format =  DateTimeFormat.forPattern("Myy");
org.joda.time.DateTime instance = format.parseDateTime("0810");
System.out.println(String.valueOf(instance.getMonthOfYear()));
System.out.println(String.valueOf(instance.getYear()));

响应: 8 2010

希望这有助于你!

答案 1 :(得分:0)

我想你得到的输出是816和816& 016为1016.您应该考虑填充816(即0816),因为这是处理月份的标准格式。然后你会使用:

  

DateTimeFormatter format = DateTimeFormat.forPattern(“MMyy”);