【发布时间】:2015-04-06 16:04:08
【问题描述】:
我需要每天向所有必须在给定时间范围内检查血压的用户发送提醒短信。 我的日程表中的记录是:
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?如果您稍后需要为用户显示本地时区,您可以在检索时间及其 tiemzone 时进行转换
-
时区缩写不足。请阅读the timezone tag wiki。