我得到一个日期,包括(-
或/
或空格)的格式dd-mm-yyyy
或dd.MMM.yy
例如
dd.MM.yyyy
dd-MM-yy
dd MM yyyy
dd MM yyyy
即使用户输入了年份的最后两位数字,如何将其转换为我的格式,我必须将其转换为 4 位数字?
Try something like this.
Scanner sc=new Scanner(System.in);
System.out.println("Enter your date: ");
String[] format={"dd.MM.yyyy", "dd-MM-yy","dd MM yyyy"};
for (String i : format)
{
try
{
Date date=new SimpleDateFormat(i).parse(sc.nextLine());
System.out.println(new SimpleDateFormat("dd MM yyyy").format(date) );
}
catch (ParseException e) {
}
}
Live Demo here.
You can add what ever the SimpleDateFormat
to format
array
. Then this will convert to "dd MM yyyy"
format.
所以你想要:
全部替换 / 用空格替换全部 - 用空格替换最后一个空格后用 4 位数字假设本世纪 13 -> 2013
然后使用 SimpleDateFormat.parse
您可以查看Apache Commons Lang DateUtils,它允许您String
使用一系列不同的日期模式来解析日期。
simple 使用SimpleDateFormat
来完成实际工作,但是当您想尝试使用多种格式而不是自己循环它时,它会变得更容易。
一旦你把它恢复到Date
价值,你可以用它SimpleDateFormat
来格式化Date
你想要的任何东西