在这种情况下,我需要帮助:
1)当前是夏令时。我需要为美国东部时间6月9日星期一下午6点至美国东部时间下午7点创建一个时间间隔,此后直到2018年底为止的每个星期。该时间间隔将供学生安排与导师的约会。现在,客户端将其作为创建开始时间的请求发送,该请求的开始时间是UTC时间6月9日星期一下午2点。 。 (EDT偏移-4小时)服务器在db中为UTC时间6月9日2 PM创建一个开始时间,并增加了7天的毫秒数来创建循环
^这会由于DST引起问题。假设现在是11月5日(夏令时之后)。该数据库仍将UTC时间11月5日下午2点保存为值。但是因为我的时区已更改,所以我没有像6月那样偏移4个小时,而是偏移了5个小时。因此,正确的开始时间是“我所在时区的6 PM会话”变为“我所在时区的7 PM”。这是错误 解决方案是以下两者之一(或两者结合):
1)而不是增加7天的毫秒数,而是增加1周的毫秒数取决于用户的时区当前,无法基于utc偏移量提取用户的时区(-400 ,它现在也适用于美国东海岸,也适用于加拿大,加勒比海地区,南美等。我们需要将用户的时区保存为字符串,而不是UTC偏移量计数。存在时区的国际标准)
2)??其他的东西