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

在java中,如何仅从数据库中存储的日期获取日期?,java,mysql,database,date,dayofmonth,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

我可以检索所有记录的完整日期,但我只想检索每个记录的日期。例如,我有一个日期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);}
    }

您可以使用MySQL函数,如

然后要么

String str = rs.getString(1);


您可以使用MySQL函数,如

然后要么

String str = rs.getString(1);

tl;博士 细节 答案是正确的。另一个途径是通过java.time库

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

LocalDate ld = myResultSet.getObject( reserve_date , LocalDate.class ) ;
int dayOfMonth = ld.getDayOfMonth() ;
tl;博士 细节 答案是正确的。另一个途径是通过java.time库

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

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

你为什么要使用早已过时且臭名昭著的SimpleDateFormat来困扰一些
SimpleDateFormat
同学和朋友,和他一起工作要好得多。然后,调用
LocalDate.getDayOfMonth()
就很容易了。您为什么要使用过时且臭名昭著的SimpleDateFormat来困扰一些
SimpleDateFormat
类和朋友呢,和他一起工作要好得多。然后调用
LocalDate.getDayOfMonth()
就很容易了。
LocalDate ld = myResultSet.getObject( reserve_date , LocalDate.class ) ;
int dayOfMonth = ld.getDayOfMonth() ;