如何存储每周生成的日时间段

How to store day time slots that generates weekly

假设我有一个带有日历的应用程序,每天分为多个时间段,例如:

星期一:8-10 点 10-12 点 12-14 点

星期二:8-10 小时 10-12 小时 12-14 小时

并且每个时间段都有一个事件,日历每周更新一次,这意味着本周的时间段和事件将不再可用,并将被具有新时间段事件的新周日历所取代。 存储此类数据的最佳方式是什么?

假设您不关心保存前几周的时间段。

根据您的用例,您有 2 个选项。存储在数据库或 json 文件中。

选项 1:

由于每天都有多个时间段,这显然是一对多的关系。第 X 天有 N 个时段。

所以首先,像这样创造日子 table:

dayID name
abc123 Monday
abcd1234 Tuesday

然后,为时间段创建另一个 table,您将时间段和 dayID 作为外键,如下所示:

timeSlotID fromTime toTime dayID
efg123 8 10 abc123
efg1234 10 12 abc123

选项 2:

现在,如果您只关心存储下周时间段,我认为没有必要将其存储在数据库中。您可以简单地将它们存储在 json 文件中,因为您的数据非常小,而且无论您使用何种语言和框架,json 文件都可以快速且易于处理。

您可以这样存储您的数据:

{
"Monday": [
    {
        "fromTime": 8,
        "toTime": 10
    },
    {
        "fromTime": 10,
        "toTime": 12
    }
],
"Tuesday": [
    {
        "fromTime": 9,
        "toTime": 11
    },
    {
        "fromTime": 12,
        "toTime": 13
    }
]

}

而且您每周都可以轻松地重新创建 json 数据。