【问题标题】:handing daily tasks in rails with timezones and DST在具有时区和 DST 的 Rails 中处理日常任务
【发布时间】:2015-11-04 12:48:13
【问题描述】:

在我的应用中,用户可以选择他们希望接收每日电子邮件的时间。然后我会定期运行一个脚本来查找有即将发送的电子邮件的用户并发送它。因此,如果用户选择在早上 7 点发送一封电子邮件,我会查找选择了该时间的用户并将其发送。

问题当然是时区。无论时区或夏令时如何,我都会让用户处于不同的时区,并且需要 7AM 始终是 7AM。

我可以理解如何为显示目的执行此操作,但我找不到太多关于执行查询的信息,这些查询必须考虑时区和 DST 以用于具有不同时间和时区的用户集合。

【问题讨论】:

    标签: ruby-on-rails datetime timezone dst


    【解决方案1】:

    这可能是最容易实现的,只需将数据库中的所有内容都保存为 UTC。您可以使用用户指定的时区来调整显示和传入表单数据的时间。

    【讨论】:

    • 当然,但是在搜索所有用户以确定向谁发送电子邮件的脚本中,我将如何处理不同的时区和 DST 规则,以便给定用户的早上 7 点始终是早上 7 点,并且永远不会突然早上 6 点或 8 点。
    • 两者都没有讨论如何在查询中处理 DST 和时区
    • 除非您在数据库中也保留偏移数据,否则您无法在查询中执行此操作。否则,您只需要获取所有内容并动态计算即可
    猜你喜欢
    • 1970-01-01
    • 2021-01-06
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多