1

我得到一个日期,包括(-/或空格)的格式dd-mm-yyyydd.MMM.yy例如

dd.MM.yyyy
dd-MM-yy
dd MM yyyy

dd MM yyyy即使用户输入了年份的最后两位数字,如何将其转换为我的格式,我必须将其转换为 4 位数字?

4

3 回答 3

0

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.

于 2013-08-19T04:56:44.070 回答
0

所以你想要:

全部替换 / 用空格替换全部 - 用空格替换最后一个空格后用 4 位数字假设本世纪 13 -> 2013

然后使用 SimpleDateFormat.parse

于 2013-08-19T04:49:12.227 回答
0

您可以查看Apache Commons Lang DateUtils,它允许您String使用一系列不同的日期模式来解析日期。

simple 使用SimpleDateFormat来完成实际工作,但是当您想尝试使用多种格式而不是自己循环它时,它会变得更容易。

一旦你把它恢复到Date价值,你可以用它SimpleDateFormat来格式化Date你想要的任何东西

于 2013-08-19T04:49:30.520 回答