如何將javax.time.Instant
格式化爲本地時區中的字符串?以下內容將本地Instant
轉換爲UTC,而不是我所期待的當地時區。刪除toLocalDateTime()
的呼叫也是這樣。我怎樣才能獲得當地時間呢?如何將javax.time.Instant格式化爲本地時區中的字符串?
public String getDateTimeString(final Instant instant)
{
checkNotNull(instant);
DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
DateTimeFormatter formatter = builder.appendPattern("yyyyMMddHHmmss").toFormatter();
return formatter.print(ZonedDateTime.ofInstant(instant, TimeZone.UTC).toLocalDateTime());
}
注:我們正在使用的JSR-310參考實現較舊版本0.6.3。
我真的不覺得有必要訴諸這種老方法。 –
@SimonAndréForsberg:不幸的是,我不得不因爲我們使用了JSR-310參考實現的0.6.3。幸運的是,雖然我們的產品仍然使用Java 7,但我們後來轉向了Java 8中出現的最新JSR-310。 –
Date也有一個方法Date.from(instant)。 Nwm,現在看你的奇怪版本 – softarn