mysql NOW()返回托管服务器国家日期&时间,但希望获得印度标准时间

时间:2016-03-11 09:17:30

标签: php mysql

我的网络应用程序& mysql数据库托管在美国服务器上,所以当我想存储当前日期和时间时,它存储在美国时间,因为我使用了mysql的 NOW()功能,但我想要将当前日期时间存储在印度标准时间中。怎么可能在mysql或PHP?实现这一目标的有效方法是什么?

2 个答案:

答案 0 :(得分:2)

有几种可能性。

1)将mysql ini设置为time-zone更改为“IST”

2)您可以使用tz_convert()

转换时区

使用类似这样的内容将日期从一个时区转换为另一个时区

SELECT CONVERT_TZ(Now(),'GMT','IST');

要实现此目的,您必须拥有有效的时区配置,有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/time-zone-support.html

如果时区设置不正确,如果您指定服务器时区和所需时区的时间偏移,您仍可以将Now()转换为当地时区,例如

SELECT CONVERT_TZ(Now(),'+00:00','+08:00');

3)如果您的mysql用户具有super权限,您可以使用

在运行时设置时区
SET time_zone = 'IST';

可以在mysql http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html

的时区手册部分找到更多文档

答案 1 :(得分:2)

为什么不使用PHP date和timeZone函数来获取当前的印度时间戳?

date_default_timezone_set("亚/加尔各答&#34);

$ curr_timestamp = date(" Y-m-d H:i:s");

很抱歉,如果我弄错了,请告诉我这是否适合您。