gpt4 book ai didi

java-8 - 如何将 LocalDateTime 转换为 OffsetDateTime?

转载 作者:行者123 更新时间:2023-12-02 19:25:18 32 4
gpt4 key购买 nike

如何将LocalDateTime转换为OffsetDateTime

private OffsetDateTime getEntryDate(Payment payment) {
return Optional.ofNullable(payment)
.map(Payment::getEntryDate)
.map(SHOULD RETURN OffsetDateTime)
.orElse(null);
}

Payment::getEntryDate 将返回 LocalDateTime

最佳答案

有多种方法可以将 LocalDateTime 转换为 OffsetDateTime。下面列出了其中一些:

<强>1。使用LocalDateTime#atOffset​(ZoneOffset offset) :

LocalDateTime ldt = LocalDateTime.now();
ZoneOffset offset = ZoneOffset.UTC;
OffsetDateTime odt = ldt.atOffset(offset);

<强>2。使用LocalDateTime#atZone​(ZoneId zone) =>ZonedDateTime#toOffsetDateTime() :

LocalDateTime ldt = LocalDateTime.now();

// Change the ZoneId as required e.g. ZoneId.of("Europe/London")
ZoneId zoneId = ZoneId.systemDefault();

OffsetDateTime odt = ldt.atZone(zoneId).toOffsetDateTime();

<强>3。使用OffsetDateTime#of​(LocalDateTime dateTime, ZoneOffset offset) :

LocalDateTime ldt = LocalDateTime.now();
ZoneOffset offset = ZoneOffset.UTC;
OffsetDateTime odt = OffsetDateTime.of(ldt, offset);

<强>4。 ZonedDateTime#of​(LocalDateTime localDateTime, ZoneId zone) => ZonedDateTime#toOffsetDateTime():

LocalDateTime ldt = LocalDateTime.now();

// Change the ZoneId as required e.g. ZoneId.of("Europe/London")
ZoneId zoneId = ZoneId.systemDefault();

OffsetDateTime odt = ZonedDateTime.of(ldt, zoneId).toOffsetDateTime();
<小时/>

注释:

  1. 在上面给出的所有解决方案中,根据需要替换示例 ZoneOffset,例如ZoneOffset offset = ZoneOffset.of("+02:00").
  2. 在上面给出的所有解决方案中,根据需要替换示例 LocalDateTime,例如LocalDateTime ldt = LocalDateTime.of(2021, 3, 14, 10, 20)

关于java-8 - 如何将 LocalDateTime 转换为 OffsetDateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55454717/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com