資料庫查詢的時間結果的json格式化
阿新 • • 發佈:2019-02-17
Oracle資料庫查詢的結果中有時間格式時,在將它json格式化時的處理方式有兩種:
第一,sql語句時,就將其轉換成字串。例如:select to_char(start_time,'yyyy-mm-dd HH24:mi:ss'), name from table;
這種情況下,時間以字串格式被處理。但是這種寫法,生成的json格式的字串中,start_time欄位其實以to_char(start_time,'yyyy-mm-dd HH24:mi:ss')出現,所以,前臺處理時記得要寫成to_char(start_time,'yyyy-mm-dd HH24:mi:ss')而不是欄位名start_time。
第二,sql語句時不處理,例如:select start_time, name from table; 但是處理查詢結果時,直接rs.getDate時,結果會吧時間內容丟失,變成‘00:00:00’的時間。所以,要使用如下方式:
Object v = rs.getObject(i);
if(v!=null &&(v.getClass()==Date.class || v.getClass()==java.sql.Date.class))
{ Date time=new Date(rs.getTimestamp(i).getTime());
SimpleDateFormat formattime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String pubtime=formatime.format(time);}
這樣,前臺繼續使用欄位名start_time就ok!