在Java中,JSON常常用于數(shù)據(jù)傳輸和存儲,但JSON中的日期格式往往無法直接轉(zhuǎn)換成Date類型。下面是一個簡單的方法來解決這個問題。
String strDate = "2021-11-17T06:45:26.000Z"; SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); Date date = dateFormatter.parse(strDate);
上面的代碼中,我們首先定義了一個String類型的日期格式,然后使用SimpleDateFormat類來解析該日期格式。在設(shè)置解析日期格式時,需要注意“Z”表示時區(qū),因此需要設(shè)置時區(qū)為UTC。最后,將字符串日期轉(zhuǎn)換成Date類型即可。
如果你使用的是Java 8或更高的版本,可以使用DateTimeFormatter類來解決時間格式轉(zhuǎn)換的問題:
String strDate = "2021-11-17T06:45:26.000Z"; ZonedDateTime dateTime = ZonedDateTime.parse(strDate, DateTimeFormatter.ISO_DATE_TIME); Date date = Date.from(dateTime.toInstant());
上述代碼中,我們使用DateTimeFormatter類來解析JSON日期格式,并將其轉(zhuǎn)換成ZonedDateTime對象。接著,使用該對象的toInstant()方法將其轉(zhuǎn)換成Instant類型,最后使用Date.from()方法將Instant類型轉(zhuǎn)換成Date類型。
總之,無論你使用的是哪個Java版本,本文提供的兩種方法都可以幫助你將JSON日期轉(zhuǎn)換成Java的Date類型。