Java 在ms access中设置日期格式
我正在尝试将数据库中的日期格式结果格式化为仅日期。(“dd”)。查询结果的格式是这样的,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
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;x System.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