Java 在ms access中设置日期格式

Java 在ms access中设置日期格式,java,sql,date,simpledateformat,Java,Sql,Date,Simpledateformat,我正在尝试将数据库中的日期格式结果格式化为仅日期。(“dd”)。查询结果的格式是这样的,2014-05-17 00:00:00我只想提取“17”,我怎么能做到这一点?这是我的密码 String query = "SELECT DISTINCT date FROM Attendance;"; Object[][] queryResult = connectToDB(headerQuery); for(int x = 0; x < queryR

我正在尝试将数据库中的日期格式结果格式化为仅日期。(“dd”)。查询结果的格式是这样的,
2014-05-17 00:00:00
我只想提取“17”,我怎么能做到这一点?这是我的密码

String query = "SELECT DISTINCT date FROM Attendance;";
            Object[][] queryResult = connectToDB(headerQuery);

            for(int x = 0; x < queryResult.length; x++){
                for(int y=0; y < queryResult[x].length; y++){
                    Object temp = queryResult[x][y];
                    SimpleDateFormat format = new SimpleDateFormat("dd");
                    System.out.print(format.format(temp));
                    System.out.println(temp+ "<-----");
                }
                System.out.println("---");
            }
更新:我已将for循环更改为:

for(int x = 0; x < queryResult.length; x++){
                for(int y=0; y < queryResult[x].length; y++){
                    String temp = (queryResult[x][y]).toString();
                    SimpleDateFormat format = new SimpleDateFormat("dd");
                    Date date = (Date) format.parse(temp);

                    System.out.println(date+ "<-----");
                }
                System.out.println("---");
            }
for(int x=0;xSystem.out.println(date+“好,所以您正在尝试格式化字符串。也就是说,
temp
是一个字符串,您不能将其传递到
格式
。您需要将该字符串转换为日期,然后将其传递到
格式

但是,更好的是,您应该从查询中返回
日期
,而不是
字符串
。这将使您的生活更加轻松。这样您就不需要更改代码的任何其他部分


向我们展示您的
connectToDB
。假设它使用JDBC,您应该通过调用来获得结果,为什么不使用SQL来提取日部分

SELECT DatePart('d', [date]) as theDay FROM Attendance

似乎
Object temp=headerQueryResult[x][y];
类型为
String
System.out.println(temp+)的输出是什么?请检查更新@MenoHochschild@user3615601这不会改变任何东西。您只需铸造结果,您需要将输入更改为
格式
,而不是输出。
SELECT DatePart('d', [date]) as theDay FROM Attendance