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

Spring MVC-将用户时区的数据转换为UTC

秦宁
2023-03-14

目前,该应用程序是英国唯一,所以目前我只需要支持BST(夏令时),而不是不同的用户不同的时区。然而,支持不同时区的用户是一个潜在的未来需求。

共有1个答案

姬自强
2023-03-14

希望这对你有帮助,或者至少是你可以开始的一点。

看起来最好的方法是使用OffsetDateTime类型存储日期。很容易将来自用户的dateTime值转换为UTC:

OffsetDateTime createdOn = requestDto.getCreatedOn();
OffsetDateTime utc = createdOn.atZoneSameInstant(ZoneId.of("UTC"));

再次返回(当然,您也需要存储用户的时区):

OffestDateTime eventDate = modelObject.getEventDate();
OffsetDateTime userTime = eventDate.atZoneSameInstant(ZoneId.of(userTimeZone));
OffestDateTime now = OffestDateTime.now(Clock.systemUTC());
ModelObject dto = new ModelObject();
dto.setEventDate(now);
OffestDateTime eventDate = databaseModelObject.getEventDate();
LocalDateTime userTime = eventDate.atZoneSameInstant(ZoneId.of(userTimeZone)).toLocalDateTime());
ResponseDto response = new ResponseDto();
response.setEventDate(userTime);
 类似资料:
  • 我的javascript代码中有一个字符串列表,我通过JQuery将其发送到基于REST的服务,如下所示: 如您所见,我将javascript数组转换为JSON数组。 现在,在服务器端,我使用Spring MVC和Jackson来接收和解析输入JSON: 但我总是得到: 我尝试从JSON对象中删除引号,还尝试使用,但没有成功。 根据OQJF建议进行更新: 我修改了我的帖子请求如下: 现在调用了我的

  • 在jsp页面中从日期选择器中选择日期时,格式如下所示。 从印度登录时,数据选择器格式如下: 从美国登录时,datepicker格式如下所示。 我想将其转换为“dd-MMM-yyyy”两种格式。 假设将来我想从其他国家登录,即内部化它将以相同的格式输出。 现在,我们正在angularJS(jsp页面)应用程序中实现。 示例javacode如下,对印度运行良好,但对美国不起作用。 我怎样才能使它能够为

  • 问题内容: 我的目的,其被构造这样 如何将其转换为瑞士时区?预期结果应该是。 问题答案: 如何在瑞士的时区将其转换为LocalDateTime? 您可以将UTC 转换为带有瑞士时区的UTC ,但要保持同一时间,然后根据需要使用该时间。我很想将它保留为,除非您出于某些其他原因需要它。

  • 我有一个日期。它是如何存储在数据库中的。我正在使用并调用此函数。 在这里,我知道我的

  • 我是scala/sark世界的新手,最近开始了一项任务,它读取一些数据,处理数据并将其保存在S3上。我阅读了一些关于stackoverflow的主题/问题,这些主题/问题涉及重分区/合并性能和最佳分区数(如本例)。假设我有正确的分区数,我的问题是,在将rdd转换为数据帧时,对它进行重新分区是个好主意吗?下面是我的代码目前的样子: 这是我打算做的(过滤后重新分区数据): 我的问题是,这样做是个好主意

  • 问题内容: 在Linux中,有没有办法以编程方式获取给定时间字符串的UTC时间,例如 设置为UTC时间,而不考虑(且不更改)本地时区设置? 问题答案: 报告。出现差异是因为2012年12月14日实际上是星期五,而不是星期二。使用有效的输入可能效果更好…