gpt4 book ai didi

time - 您将如何存储可能的重复时间?

转载 作者:行者123 更新时间:2023-12-04 13:25:15 25 4
gpt4 key购买 nike

我需要存储是否每天,每天,工作日,每周,一周中的某些天,一个月中的某些天发生一次,这些事件可能是数字形式的,也可能是象征性的,例如每月的第一个星期一,依此类推。

有什么建议吗?有什么代码,数据结构或架构要看吗?

最佳答案

有复杂的解决方案和简单的解决方案。两种最简单的解决方案是:

  • 散发重复事件,直到达到一定数量的实例,或将来达到某个固定日期范围。将FK recurrence_id与每个实例一起存储,以指向重复描述,并允许进行大量编辑和取消。
    预先计算的扇出方法的优点在于,它非常容易实现重复异常,这几乎肯定是您获得的第一个功能请求。
  • 在显示时计算。计算机速度很快,这取决于您希望能够回答的有关数据的问题,通常很容易计算日期范围内的所有事件。您可以很聪明,并在进行重复计算之前尝试快速将日期范围括起来,或者可以从开始日期就强行使用它。

  • 除此之外,您只需要一种存储重复规则的解决方案,该规则就可以与您用于计算重复的任何事物一起使用。 (例如,如果您使用的是iCalendar启用库,则您的架构为varchar(255),其中包含RRULE值)
    如果您必须使用自己的递归计算器,并且希望保持简单,可以将递归限制为每天,每周,每月或每年覆盖您的第一个80%用例,并且计算起来非常容易。
    此时,您的潜在重复方案如下所示:
    id
    recurrence_start
    recurrence_end
    type (daily|weekly|monthly|yearly)
    day_of_week (for weekly)
    month
    day_of_month
    坦白说,复杂的解决方案可能不值得:)

    关于time - 您将如何存储可能的重复时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/430012/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com