此代码目前采用dd / MM / yyyy形式的日期,并在4个单独的行上返回月,日,年和日的输出。在这种情况下,您可以在代码本身中输入日期。但是我想制作一个提示器并使用扫描仪输入日期。这是我到目前为止所做的,但我不确定如何继续。原始代码尚未更改。
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
class Day{
public static void main( String[] args ){
Scanner sc = new Scanner(System.in);
System.out.println("Type a date in the form dd/MM/yyyy:");
SimpleDateFormat newDateFormat = new SimpleDateFormat("dd/MM/yyyy");
try {
Date myDate = newDateFormat.parse("28/12/2013");
newDateFormat.applyPattern("EEEE dd MMM yyyy");
String isDate = newDateFormat.format(myDate);
String []myformat=isDate.split(" ");
System.out.println(myformat[2]);
System.out.println(myformat[1]);
System.out.println(myformat[3]);
System.out.println(myformat[0]);
} catch (Exception e) {
System.out.println("Error. Date is in the wrong format.");
}
}
}
答案 0 :(得分:1)
在您的S.O.p放置行String date = sc.nextLine();
之后,将日期mydate行修改为Date myDate = newDateFormat.parse(date);
。
最终代码将是
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
class Day{
public static void main( String[] args ){
Scanner sc = new Scanner(System.in);
System.out.println("Type a date in the form dd/MM/yyyy:");
String date = sc.nextLine();
SimpleDateFormat newDateFormat = new SimpleDateFormat("dd/MM/yyyy");
try {
Date myDate = newDateFormat.parse(date);
newDateFormat.applyPattern("EEEE dd MMM yyyy");
String isDate = newDateFormat.format(myDate);
String []myformat=isDate.split(" ");
System.out.println(myformat[2]);
System.out.println(myformat[1]);
System.out.println(myformat[3]);
System.out.println(myformat[0]);
} catch (Exception e) {
System.out.println("Error. Date is in the wrong format.");
}
}
}