Closed. This question needs debugging details。它当前不接受答案。












想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。

5年前关闭。





我有此文本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


怎么了?

提前致谢

最佳答案

确保输入的字符串是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年

希望对您有帮助!

10-07 16:20