我正在阅读Oracle DB中的日期列。Java分割日期从DB返回到分隔日期和时间的值字符串
列类型为Date
。
实例日期数据:2011-12-06 14时28分12秒
现在,当我读这个日期我想要的日期部分分成单独的字符串和时间部分到另一个。
//这是我正在使用的代码。
DateFormat df = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
// some loop.
SomeBean bean = new SomeBean();
Date date = convertTimestamp(rs.getTimestamp("DATE_VAL"));
bean.setTime(date==null?"":convertToTimeStamp(date,true));
bean.setDate(date==null?"": df.format(date));
// end some loop.
private java.util.Date convertTimestamp(java.sql.Timestamp timestamp) {
if (timestamp == null)
return null;
else
return new java.util.Date(timestamp.getTime());
}
private String convertToTimeStamp(Date date, boolean showSeconds) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return convertToTimeStamp(c, showSeconds);
}
public static String convertToTimeStamp(Calendar time, boolean showSeconds) {
String hours = Integer.toString(time.get(Calendar.HOUR_OF_DAY));
if (hours.length() == 1) {
hours = '0' + hours;
}
String minutes = Integer.toString(time.get(Calendar.MINUTE));
if (minutes.length() == 1) {
minutes = '0' + minutes;
}
if (showSeconds) {
String seconds = Integer.toString(time.get(Calendar.SECOND));
if (seconds.length() == 1) {
seconds = '0' + seconds;
}
return hours + ":" + minutes + ":" + seconds;
} else {
return hours + ":" + minutes;
}
}
请帮忙。您的帮助将不胜感激。
感谢
什么是当前的问题与你在这里展示的代码? –
@ M□□□БДLL填充的返回日期和时间字符串是空的。尽管该列具有问题中指定的日期值。日期列格式不会更改。 – Nomad
为什么不使用两个不同的'DateFormat'实例 - 一个用于日期,一个用于时间?更好 - 考虑使用[乔达时间](http://joda-time.sourceforge.net/)。 –