簡介
本文記錄了在JAVA開發(fā)工作中遇到了時間格式為:
yyyy-MM-ddTHH:mm:ss.SSS+SSSS
轉為常用時間格式:
yyyy-MM-dd HH:mm:ss
的解決方法囊榜,提供給碰到和我一樣的問題的小伙伴樱溉,如果有更好的解決方式,也希望能在評論告知抱既!
內(nèi)容
問題
在開發(fā)中遇到返回值為
"timestamp": "2020-11-19T03:12:08.121+0000"
的時間數(shù)據(jù),當時琢磨了很久還是沒有找到合適的轉換方式呵曹,也在墻內(nèi)外進行過搜索稠通,也依舊沒有一個明了的解決方式赠幕,所以只能自己摸索了
解決
解決方式:
- 因為返回的時間是字符串類型(String)辐宾,所以進行兩次替換
- 將"+0000"替換為""非空格
- 將"T"替換為" "空格
- SimpleDateFormat方法用格式為:yyyy-MM-dd HH:mm:ss.SSS 將原String轉為Date
- 最后再用SimpleDateFormat方法轉為自己想要的時間格式
相關代碼
/**
* 時間格式轉換
* @param endTime yyyy-MM-ddTHH:mm:ss.SSS+SSSS
* @return
*/
public static String auxGetCommnetTime(String endTime){
//先替換"T"狱从,再替換"+0000"
endTime = endTime.replaceAll("T"," ").replaceAll("\\+0000","");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date parse = null;
try {
parse = simpleDateFormat.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
}
//需要轉化成的時間格式,時間格式自定義
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(parse);
}