我正在尝试从标准ISO 8601格式更改2014-09-11T21:28:29.429209Z为好的MMM d yyyy hh:mm z格式,但是我当前的代码失败。
2014-09-11T21:28:29.429209Z
public void setCreatedAt( String dateTime ) { LocalDate newDateTime = LocalDate.parse(dateTime); try { DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a z"); createdAt = newDateTime.format(format); } catch (Exception e) { } }
我正在从api接收时间和日期。
A java.time.LocalDate是“ ISO-8601日历系统中没有时区的日期,例如2007-12-03”,因此那里没有足够的信息。使用java.time.ZonedDateTime代替。
java.time.LocalDate
java.time.ZonedDateTime
同样,吞噬这样的异常会使得排除故障变得更加困难。当您不打算处理异常时,要么根本不捕获它,要么捕获并重新包装在RuntimeException中,然后至少将其记录(e.printStackTrace()或类似记录)。
e.printStackTrace()