簡體   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