Android --- 数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)
生活随笔
收集整理的這篇文章主要介紹了
Android --- 数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:
數據庫存儲的是正確的時間格式(2021-06-17 21:47:23)但是在獲取的時候變成了(2021-06-17T13:47:23.000+00:00)
重點: 我們發現獲取到的時間跟原時間是有差別的,原時間是21:47,而獲取到的時間是13:47,相差了8個小時,所以我們在轉換的時候應該注意,要將獲取的時間在加上一個 T 的時間,也就是 8 個小時,下面我們來看轉換方法:
解決方法:
調用以下方法轉換:
public static String dealDateFormat(String oldDateStr) throws ParseException {DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SS"); //yyyy-MM-dd'T'HH:mm:ssDate date = df.parse(oldDateStr);date.setHours(date.getHours()+8); // 一個 T 是 8 小時,雖然不知道為什么等于 8 ,但可以測試出來DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");return df2.format(date);}在我們調用 dealDateFormat 方法的時候可能會拋出異常, try catch 一下就可以了
代碼實例及效果圖:(導入我的代碼有些值會報錯-自己定義對象即可)
enrollTime = bundle.getString("enrollTime");organUserId = bundle.getString("organUserId");orderAwaitTime = bundle.getString("orderAwaitTime");System.out.println("enrollTime--" +enrollTime);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {String ss = DateTimeUtil.dealDateFormat(enrollTime);System.out.println("ss--"+ss);Date currentTime = sdf.parse(DateTimeUtil.getNow()); //當前系統時間Date firstTime = sdf.parse(ss); //查詢的數據時間String str = DateTimeUtil.getTime(currentTime,firstTime);System.out.println("時間差為:"+str);} catch (ParseException e) {e.printStackTrace();}總結
以上是生活随笔為你收集整理的Android --- 数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android——TabLayout 默
- 下一篇: Android --- 如何更改应用程序