如何使用 java-8 将 utc 秒中的时间和秒中的时区偏移量转换为日期?
How to convert time in utc second and timezone offset in second to date using java-8?
我有一个以 utc 秒为单位的日期和以秒为单位的时区偏移量。我想使用 java8 ZoneOffset class 将其转换为格式为 yyyy-mm-dd 的日期字符串。以下是以秒为单位的时间和偏移量
long time = 1574962442,
long offset = 3600
现在我想使用 java-8 DateTime API 获取以下格式的日期?
String date = 2019-11-28 // in yyyy-MM-dd
您可以使用 Instant from java-8 DateTime API to obtains an OffsetDateTime of Instant from epoch seconds with offset seconds
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"))
我有一个以 utc 秒为单位的日期和以秒为单位的时区偏移量。我想使用 java8 ZoneOffset class 将其转换为格式为 yyyy-mm-dd 的日期字符串。以下是以秒为单位的时间和偏移量
long time = 1574962442,
long offset = 3600
现在我想使用 java-8 DateTime API 获取以下格式的日期?
String date = 2019-11-28 // in yyyy-MM-dd
您可以使用 Instant from java-8 DateTime API to obtains an OffsetDateTime of Instant from epoch seconds with offset seconds
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"))