我有这个文本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
有什么问题?
提前致谢
答案 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”);