Java中是否存在任何预定义的类,如果我将它传递给日期,它应该返回,如果它是有效日期?例如,如果我在某年的二月三十一日通过它,那么它应该返回false,如果日期存在,那么它应该在任何一年的任何日期返回true。检查Java中是否存在日期
而且我还想要一个方法来告诉我这个特定日期的工作日。我经历了日历课,但我没有得到如何做到这一点。
Java中是否存在任何预定义的类,如果我将它传递给日期,它应该返回,如果它是有效日期?例如,如果我在某年的二月三十一日通过它,那么它应该返回false,如果日期存在,那么它应该在任何一年的任何日期返回true。检查Java中是否存在日期
而且我还想要一个方法来告诉我这个特定日期的工作日。我经历了日历课,但我没有得到如何做到这一点。
How to Validate a Date in Java
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
}
你可以使用这个从日获得平日
Calendar currentDate = Calendar.getInstance(); //or your specified date. int weekDay = currentDate.get(Calendar.DAY_OF_WEEK);
,关键是要叫DateFormat#isLenient(false
)这样的分析过程中不会推出是超出范围值:
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中使用日期。 – Falmarri 2010-12-23 07:07:28
他(法尔玛利)说的...... – st0le 2010-12-23 07:12:38