如何在不更改时区的情况下将 ZonedDateTime 转换为 java.util.Date。
在我下面的方法中,当我调用Date.from(datetime.toInstant())
它时,在我的案例 SGT 中将其转换为本地时区。
public static void printDate(ZonedDateTime datetime) {
System.out.println("---> " + datetime.format(DateTimeFormatter.ofPattern(API_TIME_STAMP_PATTERN)));
System.out.println(Date.from(datetime.toInstant()));
System.out.println("\n");
}
输出
---> 2019-03-13_08:46:26.593
Wed Mar 13 16:46:26 SGT 2019
您可以自己添加偏移毫秒。请参阅使用示例java.util.Date
:
long offsetMillis = ZoneOffset.from(dateTime).getTotalSeconds() * 1000;
long isoMillis = dateTime.toInstant().toEpochMilli();
Date date = new Date(isoMillis + offsetMillis);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句