yyyyMMddHHmmss字符串時間格式轉換成yyyy-MM-ddTHH:mm:ss(20180716000000 -> 2018-07-16T00:00:00)

起因:在用代碼構造druid的查詢json請求體對象的時候,由於druid的時間範圍查詢格式比較特殊,所以在這裏總結一下。druid要求的格式如下:

"intervals": [ "2018-07-16T00:00:00/2018-07-16T23:59:59 ]

我們這邊前臺傳過來的參數統一爲20180716000000這種格式的,所以需要轉換一下,我總結了兩種:

String fromDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(new SimpleDateFormat("yyyyMMddHHmmss").parse(date.getFromDate()));
String toDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(new SimpleDateFormat("yyyyMMddHHmmss").parse(date.getToDate()));

上面這種需要拋出解析異常,且線程不安全

String fromDate = LocalDateTime.parse(date.getFromDate(), DateTimeFormatter.ofPattern("yyyyMMddHHmmss")).toString();
String toDate = LocalDateTime.parse(date.getToDate(), DateTimeFormatter.ofPattern("yyyyMMddHHmmss")).toString();

上面這種線程安全,LocalDateTime是java8新增的,感覺沒必要全掌握,等用到某個功能的時候去網上查一下,或者看一下api,挺不錯的一個工具。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章