首页 > 解决方案 > 使用不断变化的时区安排活动

问题描述

在这种情况下我需要帮助:

1)现在是夏季时间。我需要为 6 月 9 日星期一下午 6 点 - 晚上 7 点 EDT 以及之后的每周创建一个时间间隔,直到 2018 年底。这个时间间隔将让学生安排与导师的约会。客户端现在将其作为创建开始时间的请求发送到UTC 时间 6 月 9 日星期一下午 2 点。(EDT 为 -4 小时偏移)服务器在 db 中为 UTC 6 月 9 日下午 2 点创建一个开始时间,并添加 7 天的毫秒数来创建重复

^ 由于 DST,这会导致问题。假设现在是 11 月 5 日(在夏令时更改之后)。数据库仍将 UTC 时间 11 月 5 日下午 2 点保存为值。但是因为我的时区发生了变化,而不是像 6 月份那样偏移 4 小时,而是偏移了 5 小时。所以正确的开始时间是“我的时区下午 6 点会话”变为“我的时区下午 7 点”。这是解决方案之一的错误(或两者的组合):

1) 不是添加 7 天的毫秒数,而是根据用户的时区添加 1 周的毫秒数 目前,无法根据 utc 偏移量(-400,现在在美国东海岸,也适用于加拿大,加勒比海,南美等。我们需要将用户的时区保存为字符串,而不是UTC偏移量。时区有国际标准)

2)?? 别的东西

标签: datetimetimezone

解决方案


推荐阅读