如何只从java中存储在数据库中的日期获取日期?

时间:2017-12-02 04:17:23

标签: java mysql database date dayofmonth

我可以检索所有记录的完整日期,但我只想检索每条记录的日期。例如,我有一个2017-01-20的日期,但我只想检索20.我该怎么做?这是我的代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String date = sdf.format(calendar.getDate());

    String sql = "SELECT reserve_date FROM reservation";

    try
    {
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    text.setText("");
    while(rs.next()){
        String str = rs.getString("reserve_date");
        text.append(str);
        text.append("\n");
    }
        pst.close();
        rs.close();
}
catch(Exception e)
{
    JOptionPane.showMessageDialog(null, e);
}
 finally{
        try{
            rs.close();
            pst.close();
        }catch(Exception e){JOptionPane.showMessageDialog(null, e);}
    }

2 个答案:

答案 0 :(得分:3)

您可以使用MySQL函数DAYOFMONTH,如

ggsave()

然后

String sql = "SELECT DAYOFMONTH(reserve_date) FROM reservation";

String str = rs.getString(1);

答案 1 :(得分:1)

TL;博士

myResultSet.getObject( reserve_date , LocalDate.class )  // Retrieve `LocalDate` object from database. 
           .getDayOfMonth()                              // Extract an integer for day-of-month number.

详细

Answer by Frisch是正确的。另一种途径是通过java.time库。

使用对象(特别是java.time.LocalDate对象)从数据库中获取。审讯日期。

LocalDate ld = myResultSet.getObject( reserve_date , LocalDate.class ) ;
int dayOfMonth = ld.getDayOfMonth() ;