datetime - 使用不断变化的时区安排活动
问题描述
在这种情况下我需要帮助:
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)?? 别的东西
解决方案
推荐阅读
- mongodb - 如何在mongodb中查找大于16mb大小的文档数
- .net - .Net 框架升级后 TempData 持续存在的问题
- java - 尝试重新绘制时 jpanel 被转移
- python - 使用 MinGW32 返回 np.array 时中断
- excel - 如何每天从网站下载数据以在 PowerBI 中使用
- python - Popen() 如何使用 Anaconda python 使用与 Pycharm 相同的环境?
- python - 使用 cd 输入更改路径的功能
- flutter - 将模型类放入 List
- angularjs - Google Chome 扩展:无法通过 javascript 进行角度验证
- javascript - 在 map() 中使用的 async/await 中推送所有元素后,如何返回正确的数组长度?