我需要每天向所有必须在给定时间范围内检查血压的用户发送提醒短信。 记录在我的日程安排表:检查时间(带时区)是否在给定时间范围内
user_id |name |checkup_time |timezone
1 | user1 | 01:30:00 | PST
2 | user2 | 03:00:00 | CST
目前我能得到它的检查时间是CURRENT_TIME和(当前时间+ 30分钟)之间的用户列表。
我用下面的MySQL查询来实现这一目标:
$checkup_time_min = date('H:i:s');
$checkup_time_max = date("H:i:s", strtotime($currTime ."+30 minutes"));
SELECT ... WHERE checkup_time BETWEEN '".$checkup_time_min."' AND '".$checkup_time_max."'
不过,我想TIME_ZONE在这种情况下可以考虑。
我真的很感激任何帮助或提示。
在此先感谢
为什么不将所有时间都存储在数据库中作为UTC?如果您稍后需要本地时区显示给用户,则可以在检索时间和联系信息时进行转换 – leigero
时区缩写不足。请阅读[时区标记wiki](http://stackoverflow.com/tags/timezone/info)。 –