当前位置: 首页 > 知识库问答 >
问题:

如何为Spring控制器选择正确的日期类型?

黄靖
2023-03-14

我需要像这样实现endpoint:

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

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

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

  • 本地日期时间
  • ZonedDatetime
  • 偏移日期时间

?

别的东西吗?

哪些优点和缺点?

传递日期的最佳方式是以UTC格式传递,但是它没有直接回答我的问题。

共有1个答案

龚迪
2023-03-14

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

 类似资料:
  • 我在html页面中使用日期选择器,如下所示: HTML 日期选择控制器 主控制器 提交网页时,我会在主窗体控制器中检索日期,但格式与日期选择器弹出窗口中显示的格式不同。选择后显示的格式为“2014年3月26日”。但是,在我的控制器中,我得到:2014年3月26日星期四00:00:00 GMT 0000(GMT标准时间) 请问,如何在控制器中获得显示的日期格式,而不是“2014年3月26日星期四00

  • 我想在日期时间选择器中选择大于开始日期的结束日期时间。 当前,我正在开始日期时间和结束日期时间。 假设,我选择了时间为12:00 pm的当前日期,现在end date应该是时间为1:00 pm的当前日期。 我想要下面这样的东西 示例 开始日期和时间:---2019-11-06 12:00结束日期和时间:---2019-11-06 1:00 这是我的代码 null null

  • 我已经记录了用于从日期选择器中选择日期的selenium代码。在运行测试用例时,日期选择器会弹出并正确突出显示所选日期。但是没有选择日期。代码如下所示:- 此异常仅出现在记录的代码中。我使用的是selenium-server-standalone-2 . 45 . 0 jar。

  • 我想把日期的限制,以便用户不能选择更多的日期,例如,如果今天是1月1日,那么用户不应该能够选择超过7个日期,我的意思是他不能选择1月9日。我也希望他不要选择月份和年份。所以我限制他在一周内完成任务。 到目前为止,我所做的是显示日期选择器片段并在其中设置当前日期。我的主活动中的代码如下所示: 日期选择器片段类如下所示: 它将当前日期设置为最大日期,但我如何添加7天前,因为它是日期对象?请帮忙

  • 我有一个k3s(v1.19.3 k3s3)集群,我正在使用“开箱即用”traefik入口控制器 我找不到如何使用helm图表(例如,这个幽灵图表)来使用这个入口控制器。在我对Helm图表如何工作以及它们实现的目的的理解中,模板允许使用不同的入口控制器。这是图表的 基于此,我会说我需要编辑的部分以使用traefik而不是默认 但是,无论我在中尝试什么,都会不断得到 就好像赫尔姆在寻找一个Nginx入

  • 本文向大家介绍Android 日期选择器,包括了Android 日期选择器的使用技巧和注意事项,需要的朋友参考一下 示例 DatePicker允许用户选择日期。创建的新实例时DatePicker,我们可以设置初始日期。如果我们不设置初始日期,那么默认情况下将设置当前日期。 我们可以DatePicker使用DatePickerDialog或通过使用DatePicker小部件创建我们自己的布局来向用户