如何从 Instant.now() 获取 DayOfWeek

How to get DayOfWeek from an Instant.now()

假设以下代码...

Instant x = Instant.now();

如何从 x 获取星期几?

您必须将其转换为 ZonedDateTime

Instant.now().atZone(ZoneId.systemDefault()).getDayOfWeek()
Calendar.getInstance().get(Calendar.DAY_OF_WEEK); 

会给你同样的结果

我已经给 techtabu 加分了,但最后我改用了 atOffset。这是我结束的地方...

int currentDayOfWeekValue = Instant.now().atOffset(ZoneOffset.UTC).getDayOfWeek().getValue();

我很惊讶 Java8 日期时间库有多么困难。类似概念有很多变体...

  • 即时
  • 本地日期
  • 当地时间
  • 本地日期时间
  • 偏移日期时间
  • 区域偏移
  • ZonedDateTime

修辞问题:

Zulu 和 UTC 相同还是不同?

与 Instant.now() 关联的时区是什么 - 结果显示祖鲁语?

为什么我不能像 LocalDateTime 那样操作 Instant 对象 - 方法相似但不同?

ZonedDateTime 和 OffsetDateTime 有何不同 - 它们似乎在处理相同的概念。