我的网络应用程序& mysql数据库托管在美国服务器上,所以当我想存储当前日期和时间时,它存储在美国时间,因为我使用了mysql的 NOW()功能,但我想要将当前日期时间存储在印度标准时间中。怎么可能在mysql或PHP?实现这一目标的有效方法是什么?
答案 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");
很抱歉,如果我弄错了,请告诉我这是否适合您。