Java只显示日期(没有时间)



我正在使用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));

最新更新