如何在Java中验证Date对象

时间:2010-07-15 09:09:13

标签: java date

任何人都可以告诉我以下解决方案: 我在java中有一个Util.Date对象。我想验证输入的日期。我正在使用所需的格式解析日期对象。

例如,格式为“MM / dd / yyyy”,输入日期为“23/12/2010” 对于这个日期,我没有得到任何Parse异常,但日期调整为“11/12/2011”,这不应该发生在我的情况下。相反,我想抛出错误信息。

请尽快帮助我。

提前致谢

3 个答案:

答案 0 :(得分:4)

在DateFormat类中,你必须重置“lenient”标志,即

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.setLenient(false);
. . .
sdf.parse(mydate, pos);

答案 1 :(得分:4)

您必须将SimpleDateFormat的“宽松”模式设置为false:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.setLenient(false);

默认情况下,它可以容忍某些错误,并尝试以某种方式解释它们。

答案 2 :(得分:1)

根据您的格式表达式,我们可以使用SimpleDateFormat调整月份,日期和年份,代码低于

public class SimpleDateFormatString2DateParse {

public static void main(String[] args) {

    SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");

    try {
        Date date = formatter.parse("11/12/2011");
        System.out.println("Date is : " + date);

    } catch (Exception e) {
        e.printStackTrace();
    }

   }
   }

- - - - - - - - 输出

日期是:2011年11月12日星期六00:00:00太平洋标准时间