检查字符串是否是有效日期

时间:2018-06-18 19:59:26

标签: java validation date date-parsing

我想在构造函数中添加一个Date类型的参数,所以我认为最好的方法是编写一个将字符串转换为日期的方法。检查我的字符串是否为有效日期的最简单方法是哪种?

这是我的构造函数:

Product product = new Product("Produs 1", 312.33, updateDate("23/12/2018"));

这是将String转换为Date的方法。

public static Date updateDate(String date) {
    Date newDate = new Date();
    try {
        DateFormat dtF = new SimpleDateFormat("dd/MM/yyyy");
        newDate = dtF.parse(date);
        return newDate;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return newDate;
}

1 个答案:

答案 0 :(得分:-1)

我会尽量减少try-catch块。此外,如果解析字符串时出现问题,我将返回Optional<Date>而不是新创建的date对象。

public static Optional<Date> getDateFromString(String s) {
    Date date = null;
    DateFormat dtF = new SimpleDateFormat("dd/MM/yyyy");
    try {
        date = dtF.parse(s);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return Optional.ofNullable(date);
}

一个好的做法是使用更具自我描述性的名称命名该函数,例如getDateFromString