不同区域的日期/时间问题

Spring Boot 应用程序我设置了全球时区 UTC。以便客户端(Angular)根据正确工作的用户时区显示它们。但问题是我们正在根据更改的日期搜索记录。如何解决这个问题?

例子:

  1. 在数据库中创建一个记录(提交日期),即 UTC 假设 30/10/2018 : 7:30:45

  2. 现在我将响应返回给客户,日期是(提交)30/10/2018 然后在 anguar.js 应用程序之后,他们根据用户时区进行转换,只是假设在美国时区它将显示(提交日期)29/10/ 2018年,

  3. 那么当用户根据提交日期搜索记录时,我该如何解决这个问题 (29/10/2018)

  4. 在 DB 中的实际日期是 30/10/2018 但在客户端应用程序中,他们根据客户端日期 29/10/2018 进行搜索


偶然的你
浏览 151回答 3
3回答

萧十郎

将 UTC 日期发送到服务器是他们(前端开发人员)的责任,服务器将仅根据 UTC 返回结果,然后他们可以在用户的时区中转换日期。所以结论是服务器将只处理一个时区,即 UTC。要求 angular 开发人员将日期转换为 UTC 并将其发送到服务器。

慕尼黑5688855

我使用 mysql 查询解决了上述问题在 MySQL 中,CONVERT_TZ() 在将日期时间值从指定为第二个参数的时区转换为指定为第三个参数的时区后返回结果值。当参数无效时,此函数返回 NULL。CONVERT_TZ (dt, from_tz,to_tz)Name        Descriptiondt          A datetime.from_tz     A time zone which will be converted to to_tz.to_tz      A time zone in which the from_tz will convert.

catspeake

@Jack...试试这个它会解决spring.datasource.url=jdbc:mysql://localhost:3306/veta?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java