我想从Oracle数据库中检索日期对象,并将其存储在日期变量中以同一格式中的Java?
ps;变量的数据类型应仅是日期,但需要具有格式yyyy-mm-dd HH:mm:ss。
Date
类将在内部存储日期作为长整数。如果要将其转换为字符串,则可以使用DateFormat
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateFormatted = df.format(new Date());
Date date = df.parse(dateFormatted);
如果正确设置了数据库,则应只需将日期列检索到日期变量中即可。格式化注意事项应在数据库访问级别上不适用;他们应该是非问题的。
格式是为了显示给用户的日期。
格式化也是各种工具的操作某种格式,或者您的日期变量具有一定的格式。但是他们没有。
问题从数据库级别错误地完成时开始。如果数据库列实际上不是时间数据类型,而是CHAR
类型的类型,那么格式化当然会扮演角色。但是,我们并没有谈论"从Oracle数据库中检索日期对象",而是在谈论从数据库中检索字符串并将其转换为日期。但是,您没有什么都不告诉我们桌子的结构,所以我们不能推测这一点。
因此,有了您提供的信息,正确的答案只是"只需将日期列获取到日期变量中"。如果您需要其他答案,请提供更多信息。
根据注释,您可能需要创建一个以指定格式打印值的CustomDate
类:
public class CustomDate extends Date{
private static final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public String toString() {
return df.format(this);
}
}
而不是创建日期实例,而是尝试使用定制。它在您的代码中等效。