0

我正在开发一个 Web 应用程序,其中剩余部分将在一天中的特定时间发送给订阅者。假设一个人 John 填写了一张表格,并要求在每天下午 12 点发送剩余的电子邮件。我为此目的开发了一个 cron 作业,但我遇到了与时间相关的问题。这是我的问题,如果约翰来自美国,那么电子邮件必须根据美国时间发送等等。现在我使用 MYSQL 来存储每个人的时区和时间。但是如何根据特定时区安排电子邮件。我的服务器时间设置为 UTC。因此,如果一个人的时区为 GMT +5,我必须在 UTC 中添加多少小时,以便在正确的时间发送电子邮件。
我不需要代码,只需给我一个通用公式来计算电子邮件的正确时间。非常感谢,艾哈迈尔。

4

2 回答 2

1

看一下convert-tz功能。

mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
        -> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
        -> '2004-01-01 22:00:00'
于 2012-04-22T08:38:24.957 回答
1

不要计算它,使用数据库。Mysql 拥有任何主流 RDBMS 中最好的时区支持。就从 Olson 更新其数据库的明智方法而言,它甚至比 Oracle 更好。

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz

应该给你一个线索。

于 2012-04-22T08:39:32.803 回答