这是我最初构建它的代码:
System.out.print("Date: ");
receivedDate = user.next();
String receivedDateMonth = receivedDate.substring(0, receivedDate.indexOf("/"));
int receivedMonth = Integer.parseInt(receivedDateMonth);
if(month >= 1 && month <= 9)
{
String receivedDateDay = receivedDate.substring(2, receivedDate.indexOf("/"));
int day = Integer.parseInt(receivedDateDay);
System.out.println(day);
}
正如我写的那样,我正在测试以确保receiveDateMonth正确显示并且确实如此,但是当我搬到那一天时,它并没有起作用。我一直收到错误,&#34;字符串索引超出范围:-1&#34;。我认为它以&#34; 2&#34;为中心。在那里,所以我改变了它的价值并且问题仍然存在。我把2放入,因为我希望它从第一个数字0开始计数,然后是&#34; /&#34;,以便在此之后开始下一个解析(我会改变10-12做类似的,转到3),然而,对于我的生活,我无法弄清楚这一点。 有人可以指点我正确的方向吗? 非常感谢。
答案 0 :(得分:1)
我在Parse String to Date with Different Format in Java找到了答案,根据您的需要修改了日期格式
MMMM
表示String
SimpleDateFormat fromUser = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat myFormat = new SimpleDateFormat("MMMM dd, yyyy");
try {
String reformattedStr = myFormat.format(fromUser.parse(inputString));
} catch (ParseException e) {
e.printStackTrace();
}