Java显示日期(没有时间)

时间:2014-07-13 09:58:37

标签: java sql oracle swing date

我正在使用Java-eclipse和oracle SGBD

在我的数据库中有一个Date类型的列。

我以dd / mm / yyyy格式存储数据。没有时间在那里,当我查看表格数据oracle console时,它没有显示任何时间。

但在我的应用程序java中,当我使用JTable提取数据时...它显示dd / mm / yyyy hh:mm:ss AM / PM(例如12/04/2012 00:00:00 AM)

为什么要显示时间?如何删除那个时间部分&只显示日期?

请帮忙

那就是我用来填表的方法

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("\n\n\n\n\n\n\n");

            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;

}

1 个答案:

答案 0 :(得分:1)

而不是

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));