将域名日期转换为Java使用日期

时间:2019-02-25 07:52:17

标签: java oracle-adf jdeveloper date-conversion java.util.date

我尝试将域日期转换为Java util date,但是失败。 我正在使用该方法进行转换:

public static java.util.Date convertDomainDateToUtilDate(oracle.jbo.domain.Date domainDate) {
java.util.Date date = null;
if (domainDate != null) {
java.sql.Date sqldate = domainDate.dateValue();
date = new Date(sqldate.getTime());
}
return date;
}

1 个答案:

答案 0 :(得分:2)

使用getValue直接获取正确的类型

public static java.util.Date convertDomainDateToUtilDate(oracle.jbo.domain.Date domainDate) {
    if (domainDate != null) {
        return domainDate.getValue();
    }
    return null;
}

或者如果您想移至Java 8 LocalDate

 public static LocalDate convertDomainDateToUtilDate(oracle.jbo.domain.Date domainDate) {
    if (domainDate != null) {
        return domainDate.getValue().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }
    return null;
}

在@ OleV.V的推荐之后,您还可以从java.sql.Date获取LocalDate

public static LocalDate convertDomainDateToUtilDate(oracle.jbo.domain.Date domainDate) {
    if (domainDate != null) {
        return domainDate.dateValue().toLocalDate();
    }
    return null;
}