2016-08-13 125 views
-1

我有一些問題,當我想用​​TIPE日期數據上的JSONObject獲取有關JSONObject的數據值日期格式日期時間YYYY-MM-dd'T'HH:MM:SS.SS

我有喜歡的日期這個:

{ 
"error": false, 
"alerts": { 
    "code": "200", 
    "message": "retrieve success" 
}, 
"data": [{ 
    "incident__task_i_d": "8d37a3f1-d257-4833-9701-4eab0e48076f", 
    "address": "Pulo Jahe Motor", 
    "task_status": "Completed", 
    "incident_i_d": "83eeed0f-4ea4-416b-8721-637e40ac9f72", 
    "vehicle_i_d": "36420155-6214-4745-bbf3-7dae7d50ce9c", 
    "agent_i_d": "1c3436fd-9338-4910-9686-8c1cd0a33433", 
    "dispatched_time": "2016-08-12T08:29:47.89", 
    "origin_latitude": "-6.8979664", 
    "origin_longitude": "107.6135752", 
    "destination_latitude": "-6.198816382772501", 
    "destination_longitude": "106.921986633551", 
    "created_dt": "2016-08-12T08:29:47.89", 
    "departed_time": "2016-08-12T10:13:20.947", 
    "arrival_time": "2016-08-12T10:11:14.93", 
    "kick_off_time": "2016-08-12T10:13:54.54", 
    "finished_time": "2016-08-12T10:14:30.893", 
    "incident_reported_dt": "2016-08-11T08:21:34.23" 
}] 
    } 

我有解析日期,但不能正常工作。這是我的代碼:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS"); 
JsonElement dispatched_time = ((JsonObject)jaray.get(i)).get("dispatched_time"); 
modelRekap.setDispatched_time(sdf.parse(String.valueOf(dispatched_time.toString()))); 

,我有這樣的錯誤:

java.text.ParseException: Unparseable date: ""2016-08-12T08:29:47.89"" (at offset 0) 

誰能幫助我?謝謝

+0

不知道這是原因或沒有,但因爲「SS」爲毫秒你最好包括3樣'SSS'而不是2'SS',所以你的簡單日期格式如下所示:SimpleDateFormat sdf = new SimpleDateFormat(「yyyy-MM-dd'T'HH:mm:ss.SSS」); – jazaman

+0

當我將「yyyy-MM-dd'T'HH:mm:ss.SS改爲」yyyy-MM-dd'T'HH:mm:ss.SSS do not work「。< –

回答

0

你面臨的問題是基於'SimpleDateFormat'不知道在格式化時如何處理「T」的事實。

所以你最好的選擇(我知道)是做類似如下:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS"); 
JsonElement dispatched_time = ((JsonObject)jaray.get(i)).get("dispatched_time"); 
modelRekap.setDispatched_time(sdf.parse(dispatched_time.toString().replace("T", " ")));