这不是一个,不仅仅是一个特定的星期二,所以我不会使用时间戳。
我的意思是“每周二上午10点到11点”。存储它的最佳方法是什么,以便在我的(Delphi)应用程序中检查当前时间是否在这些允许的时间之间?
答案 0 :(得分:2)
听起来时间范围只是您正在使用的主要对象的属性,因此您可以添加一个单独的表来存储时间范围数据,如:
object_time_range
id
object_id
day
hour_start
hour_end
frequency_id
- 更新 -
事后我可能会从列名中抽出时间来支持时间,以防你需要考虑其他时间框架。而day应该是day_id,即使它是一个静态列表,我总是喜欢在这种情况下使用整数。
object_time_range
id
object_id
day_id
time_start
time_end
frequency_id
答案 1 :(得分:-1)
将变量存储为datetime或timestamp,
您可以使用mysql日期函数,例如
date_format and date_add
获取属于所需日期和时间的行
如果将其存储为文本,则非常困难。
E.g获取过去一天的行
select * from tableName
where dateField > date_add(now(),interval -1 day) and
dateField < now()
rows for the past one Week
select * from tableName
where dateField > date_add(now(),interval -1 week) and
dateField < now()
检查date_add功能