繁体   English   中英

如何使用java-8将UTC秒的时间和秒的时区偏移量转换为日期?

[英]How to convert time in utc second and timezone offset in second to date using java-8?

我有一个以 UTC 秒为单位的日期,其时区偏移量以秒为单位。 我想使用 java8 ZoneOffset 类将其转换为 yyyy-mm-dd 格式的日期字符串。 以下是以秒为单位的时间和偏移量

long time = 1574962442,
long offset = 3600

现在我想使用 java-8 DateTime API 获取以下格式的日期?

 String date = 2019-11-28 // in yyyy-MM-dd

可以使用即时从Java-8的DateTime API来取得一个OffsetDateTime即时从历元秒偏移秒

OffsetDateTime offsetDateTime = Instant.ofEpochSecond(time)
                                .atOffset(ZoneOffset.ofTotalSeconds(offset));

并从中获取LocalDate

LocalDate localdate = offsetDateTime.toLocalDate();  //2019-11-28

如果您想要字符串格式的输出,请使用DateTimeFormatter

String output = localdate.format(DateTimeFormatter.ISO_LOCAL_DATE);

您可以使用 java 8 LocalDateTime API 来实现这一点。

LocalDateTime dateTime = LocalDateTime.ofEpochSecond(1574962442, 0, ZoneOffset.ofTotalSeconds(3600));

// for format
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM