我正在从Oracle DB检索日期列,并将其作为字符串传递给HTTP API调用。虽然数据库中的列值为26/08/2015 12:58:42
,但是当我尝试:-
SimpleDateFormat sdfDate = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ss.SSS'+03:00'");
this.requestDate = sdfDate.format(requestDate);
我在API调用URL中将
String
值获取为2015-08-26T00:00:00.000+03:00
。为什么会发生这种情况,以及如何获得原始的小时,分钟和秒?
编辑:我正在通过ResultSet.getDate(“ column_name”)查询日期列。我使用ResultSet.getTimestamp(“ column_name”)时已解决
最佳答案
public class TestTime {
public static void main(String[] args) throws SQLException, Exception {
Connection con = ConnectionDefinition.getOracleConnection();
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'+03:00'");
ResultSet rs = con.prepareCall("select sysdate from dual").executeQuery();
while(rs.next()){
System.err.println(sdfDate.format(rs.getTimestamp(1))); // try this
System.err.println(sdfDate.format(rs.getDate(1)));
}
}
}