|
|
1
4
我只会将一周中的某一天存储为整数。0=>星期一6=>星期天(或任何你想要的方式,即0=>星期天)。然后将开始时间和结束时间存储为时间。 这将使分组变得非常容易。你所要做的就是按星期几和开始时间排序。
|
|
|
2
2
如果您的数据是一个时间,那么我会将其存储为一个时间-否则,当您对其执行与日期和时间相关的操作时,您将始终必须将其从数据库中转换出来。日期是冗余数据,因为它将是时间对象的一部分。 这意味着您不需要存储天数列表。 如果t是时间,那么
所以您只需要存储开始时间和结束时间,或者开始时间和持续时间。两者应该是等价的。我很想自己存储结束时间,以防需要对结束时间进行数据操作,因此不必计算结束时间。 我认为,您描述的其余大部分内容也不应该存储时间数据作为时间实例。 按周、日和时间订购只是按时间列订购的问题。即
按天分组是很重要的 一点 更狡猾。然而 this is an excellent post
可以在GROUPBY子句中使用,也可以作为值在rails中的某些循环逻辑中使用。 |
|
|
3
1
就(人类可读的)道指名称而言,这是一个表示层问题,不应该是道指的核心概念。(假设您决定搬到蒙特利尔,需要法语?这应该是另一个“面子”,而不是对核心实现的改变。)
一种方法是定义自己的类时间概念,并将所有关于时间的推理划分到该类中。它可以从一个简单的表示开始(整数小时0..23,或午夜后整数分钟0..1439),然后根据需要“增长”。 |