Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Java中是否存在日期_Java_Date - Fatal编程技术网

检查Java中是否存在日期

检查Java中是否存在日期,java,date,Java,Date,Java中是否有预定义的类,如果我给它传递了一个日期,它应该返回一个是否有效的日期?例如,如果我在某一年的2月31日通过它,那么它应该返回false,如果该日期存在,那么对于任何一年的任何日期,它应该返回true 我还想要一个方法,告诉我这个特定的日期是星期几。我上了日历课,但我不知道该怎么做。你可以用它从日期开始计算工作日 关键是调用,以便在解析过程中不会滚动超出范围的值: DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); form

Java中是否有预定义的类,如果我给它传递了一个日期,它应该返回一个是否有效的日期?例如,如果我在某一年的2月31日通过它,那么它应该返回false,如果该日期存在,那么对于任何一年的任何日期,它应该返回true


我还想要一个方法,告诉我这个特定的日期是星期几。我上了日历课,但我不知道该怎么做。

你可以用它从日期开始计算工作日

关键是调用,以便在解析过程中不会滚动超出范围的值:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.parse("2010-02-31"); //=> Ok, rolls to "Wed Mar 03 00:00:00 PST 2010".
format.setLenient(false);
format.parse("2010-02-31"); //=> Throws ParseException "Unparseable date".
当然,您可以使用所需的任何实际日期格式。


如果您试图创建一个不存在的日期对象,它可能会抛出一个异常。但不确定,从未在java中使用过日期。@st0le-什么?你也不确定吗?:-)不客气。看看SimpleDataFormat。你可以根据自己的需要修改formatString,一周一天,一小时甚至一分钟:)@sasidhar我真的建议你看看joda time。它将是从JDK7开始的标准日期API,但您现在可以使用它了。它有各种各样的好方法,其中一种是getDatOfWeek。它返回2月31日存在。。。。。。。。。。。。它只是检查日期是否小于31,月份是否小于12,年份是否有效。。。。就这些。。。。但这不是我想要的功能(请帮忙。。。。
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.parse("2010-02-31"); //=> Ok, rolls to "Wed Mar 03 00:00:00 PST 2010".
format.setLenient(false);
format.parse("2010-02-31"); //=> Throws ParseException "Unparseable date".
private static boolean isValidDate(String input) {
        String formatString = "MM/dd/yyyy";

        try {
            SimpleDateFormat format = new SimpleDateFormat(formatString);
            format.setLenient(false);
            format.parse(input);
        } catch (ParseException e) {
            return false;
        } catch (IllegalArgumentException e) {
            return false;
        }

        return true;
    }

public static void main(String[] args){
        System.out.println(isValidDate("45/23/234")); // false
        System.out.println(isValidDate("12/12/2111")); // true
    }