我可以想到两个解决方案:
1)将小时,分钟,秒等存储在数据库的不同列中
2)转换并存储秒数
我错过了其他一些明显的解决方案吗?你是怎么做到这一点的?
答案 0 :(得分:3)
我投票支持一个列来跟踪持续时间。这样可以保持持续时间的标准化,而您需要做的工作量几乎与标准化多列持续时间一样多。
Rails(activesupport)还为您提供了与时间协作的精彩方法。例如,如果持续时间以秒为单位,您可以轻松地将持续时间(以秒为单位)添加到某个时间点并获得结束时间:
end_time = Time.now + duration_in_secs
使用虚拟属性来分离它有点多了,但根据我的经验,这不是更多的工作。也许有一个简化它的插件或宝石。
答案 1 :(得分:1)
如果我通过表单上的3个字段接收输入,我更喜欢在数据库中有单独的列 - 它使事情更清晰,更简单(毕竟,现在表中的一些额外的列并不多担心)。然后你需要的只是一个很好的输出东西的方法。