Java 如何格式化从用户处获取的日期作为输入,然后在日历中查找该日期,以确定该日历中是哪个月的哪一天?

Java 如何格式化从用户处获取的日期作为输入,然后在日历中查找该日期,以确定该日历中是哪个月的哪一天?,java,date,format,Java,Date,Format,例如,dd-mm-yyyy或dd.MMM.yy格式的日期包括(-或/或空格) dd.MM.yyyy dd-MM-yy dd-MM-yyyy 如何将其转换为我的格式dd-MM-yyyy,即使用户输入年份的最后两位数字,我也必须将其转换为4位数字?因此您需要: 将所有/全部替换为空格 用空格替换所有字符 将最后一个空格后的数字替换为4位,假设本世纪13->2013 然后使用SimpleDateFormat.parse您可以看看它允许您使用一系列不同的日期模式解析日期字符串 simple使用来完成实际

例如,
dd-mm-yyyy
dd.MMM.yy
格式的日期包括(
-
/
或空格)

dd.MM.yyyy

dd-MM-yy

dd-MM-yyyy

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

因此您需要:

将所有/全部替换为空格 用空格替换所有字符 将最后一个空格后的数字替换为4位,假设本世纪13->2013

然后使用SimpleDateFormat.parse

您可以看看它允许您使用一系列不同的日期模式解析日期
字符串

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


一旦将其返回到
Date
值,就可以使用
SimpleDateFormat
来格式化
日期
,只要您愿意,就可以这样尝试

    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) {

            }
        }
现场演示


您可以将任何
SimpleDateFormat
添加到
格式
数组
。然后这将转换为
“dd-MM-yyyy”
格式

这是一个类似的问题,我需要多一点帮助,我如何将这个日期与日历进行比较,以便能够得到每周的第几天,以及如何在日历中计算闰年?