我们可以限定用户输入日期的格式,
下面是一次性规定多种日期输入格式
这样可以更多的选择
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Homework {
//1.控制台提示输入出生日期,用户只要输入常见的日期格式如yyyy/MM/dd,yyyy.MM.dd yyyy-MM-dd,yyyy年MM月dd日,程序都能正确转换,并输出年龄.
public static void show() {
Date date = new Date();
Scanner sc = new Scanner(System.in);
System.out.println("请输入生日日期:");
String bir = sc.next();
//限定用户输入日期的格式
try{
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
// SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日");
// SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy.MM.dd");
//将用户输入的生日日期按照一定的格式转化为Date类,
Date date1 = sdf1.parse(bir);
// Date date2 = sdf2.parse(bir);
// Date date3 = sdf3.parse(bir);
// Date date4 = sdf4.parse(bir);
String str1 = sdf1.format(date1);
System.out.println(str1);
}catch(Exception e){
}
try{
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
Date date2 = sdf2.parse(bir);
String str2 = sdf2.format(date2);
System.out.println(str2);
}catch(Exception e1){
}
try{
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日");
Date date3 = sdf3.parse(bir);
String str3 = sdf3.format(date3);
System.out.println(str3);
}catch(Exception e2){
}
try{
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy.MM.dd");
Date date4 = sdf4.parse(bir);
String str4 = sdf4.format(date4);
System.out.println(str4);
}catch(Exception e3){
}
}
}
下面是主方法
import java.text.ParseException;
public class test {
public static void main(String[] args) {
Homework hw = new Homework();
hw.show();
}
}