0

我需要像这样实现端点:

@GetMapping("/localdatetime")
public SomeObhject dateTime(@RequestParam("localDateTime") LocalDateTime date) {

按日期它应该从数据库中查询 smth 并返回给客户端。

我的问题是我应该使用哪种日期类型?

  • 本地日期时间
  • 分区日期时间
  • 偏移日期时间

?

还有什么?

有哪些优点和缺点?

AFAIK 传递日期的最佳方式 - 以 UTC 格式传递它,但它不能直接回答我的问题。

4

1 回答 1

2

LocalDateTime 不保留时区信息,因此如果不提供其他信息 - 时区,则无法将其转换为准确的时间。OffsetDateTime 和 ZonedDatetime 都保存时区信息, ZonedDatetime 保存更多信息,请在 Javadoc 中阅读。如果您的应用程序不需要考虑时区(例如,它是一个用于本地化使用的应用程序,并且所有时间都假定始终处于本地时区),那么使用 LocalDateTime 比其他人更简单,而且其他人会保留一些冗余信息。但是,如果您确实需要考虑时区,那么您需要保存此信息的两个之一。如果我需要考虑时区,我个人更喜欢使用 ZonedDatetime

于 2021-04-19T07:18:22.523 回答