mysql NOW()返回托管服务器国家日期和时间,但想要获得印度标准时间[重复]
Posted
技术标签:
【中文标题】mysql NOW()返回托管服务器国家日期和时间,但想要获得印度标准时间[重复]【英文标题】:mysql NOW() return hosting server country date & time, but want to get Indian standard time [duplicate] 【发布时间】:2016-06-26 11:06:41 【问题描述】:我的 web 应用程序和 mysql 数据库托管在美国服务器上,所以当我想存储当前日期和时间时,它存储在 美国时间,因为我使用 NOW() mysql 的功能,但我想将当前日期时间存储在印度标准时间。在mysql或php中怎么可能?实现这一目标的有效方法是什么?
【问题讨论】:
***.com/questions/930900/… 但我无法在共享主机中更改 mysql 服务器时区 您可以在 SESSION 而不是 GLOBAL 中更改 【参考方案1】:有几种可能。
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';
更多文档可以在mysqlhttp://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html的时区手册部分找到
【讨论】:
实际上这对我有帮助 CONVERT_TZ(NOW(),'-07:00','+05:30') 很高兴听到您找到了解决方案。如果您觉得我的回答解决了您的问题,如果您接受它作为有效答案会很好,请参阅***.com/help/accepted-answer【参考方案2】:为什么不使用 PHP 日期和 timeZone 函数来获取当前的印度时间戳?
date_default_timezone_set("亚洲/加尔各答");
$curr_timestamp = date("Y-m-d H:i:s");
对不起,如果我弄错了,但如果这对你有用,请告诉我。
【讨论】:
嗨,这对你有帮助吗? 您的答案工作正常,但如果网站有很多其他国家/地区的用户,那么我们能做什么?我们应该为所有用户国家/地区写所有date_default_timezone_set('.....');
?以上是关于mysql NOW()返回托管服务器国家日期和时间,但想要获得印度标准时间[重复]的主要内容,如果未能解决你的问题,请参考以下文章