我正在使用Java - eclipse和oracle SGBD
在我的数据库中有一个类型为Date的列。
我以dd/mm/yyyy格式存储数据。当我在oracle控制台查看表数据时,它没有显示任何时间
但是在我的应用程序java中,当我使用JTable拉数据时…显示dd/mm/yyyy hh:mm:ss AM/PM(例如:12/04/2012 00:00:00 AM)
为什么显示时间?我怎样才能去掉那部分时间呢?只显示日期?
请帮
这是我用来填充Table
的方法public DefaultTableModel getJoueurData() {
Vector<Vector<String>> data;
Vector<String> colum;
data = new Vector<Vector<String>>();
colum = new Vector<String>();
colum.add("id_j");
colum.add("nom");
colum.add("prenom");
colum.add("DATE_NAISSANCE");
colum.add("NATIONALITE");
String query = "select id_j,nom,prenom,DATE_NAISSANCE,nationalite from joueur order by id_j";
try {
Connection conn = ReportDriver.connectDB(DB_CONNECTION, DB_USER,
DB_PASSWORD);
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
Vector<String> vstring = null;
while (rs.next()) {
vstring = new Vector<String>();
vstring.add(rs.getString("id_j"));
vstring.add(rs.getString("nom"));
vstring.add(rs.getString("prenom"));
vstring.add(rs.getString("date_naissance"));
vstring.add(rs.getString("nationalite"));
vstring.add("nnnnnnn");
data.add(vstring);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
}
}
}
DefaultTableModel d = new DefaultTableModel(data, colum);
return d;
}
代替
vstring.add(rs.getString("date_naissance"));
你需要这样写:
java.sql.Date date = rs.getString("date_naissance");
java.text.DateFormat df = java.text.DateFormat.getDateInstance();
vstring.add(df.format(date));