我正在为预订日历创建REST API,现在我正试图找出编写查询的最有效方式,该查询以15分钟的时间间隔返回两个日期之间的所有时间戳。如果我提供2013-09-21
和2013-09-22
我想获得:查找日期间的可用时间间隔
2013-09-21 00:15:00
2013-09-21 00:30:00
2013-09-21 00:45:00
2013-09-21 01:00:00
2013-09-21 01:15:00
2013-09-21 01:30:00
...
2013-09-22 23:15:00
2013-09-22 23:30:00
2013-09-22 23:45:00
然后,我会用这个查询作为子查询,并应用它的一些条件,以除去工作时间以外的时隙(不是常数),预约时隙,等
我看到了很多博客文章作者创建一个“日历表”存储所有这些时间戳,但这似乎是浪费给我,因为该数据不需要存储。
关于如何做到这一点或更好的方式来获取/存储数据的任何建议?
将时间存储为[UNIX时间戳](http://en.wikipedia.org/wiki/unix%20timestamp)(只是一个整数)间隔900(15 x 60秒)。检索数据时,使用[from_unixtimestamp](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime)函数来获取人类可读的日期。 – Nikhil
这是可以肯定的,但如果可以编写一个查询来即时创建这些数据,那么这将是首选。 –
http://stackoverflow.com/questions/186756/generating-a-range-of-numbers-in-mysql。也许你可以调整它以逐步生成值。 – Nikhil