我住在菲律宾,当我在我的数据库中插入日期时,它在我的数据库中插入的时间减少了13个小时。例如,我们的日期时间是02-11-2016 21-04-00,当我插入时,它插入02-11-2016 08-04-00
我已经用过了:
date_default_timezone_set('Asia/Manila');
但没有运气。我已将网站放在我的域名中。
答案 0 :(得分:1)
如果我没有错,你已经粘贴了php函数,它只为php设置time_zone
而不是my_sql
。 mysql具有可以设置的全局time_zone
变量。您应该使用SET GLOBAL time_zone = timezone;
或SET time_zone = timezone;
。
如果在这种情况下你没有直接控制你的数据库服务器,你可以传递第二个语句,即set time_zone=...;
作为第一个语句。
或者,您也可以使用convert_tz
函数转换已存储的值。
答案 1 :(得分:1)
您设置的时区用于PHP,因为Bimal说,您还需要检查服务器时间,因为时间是您不想错过或玩的信息中非常敏感的部分。
几周前我一直处于这种情况,有两种方法可以解决它:
如果时差始终是13小时,请使用以下方法:
$ new_time = date(“Y-m-d H:i:s”,strtotime('+ 13 hours'))。
我最终使用第二种方法,因为第一种方法不适合我。
最好的运气。
答案 2 :(得分:1)
这应该由
完成date_default_timezone_set('Asia/Manila');
确保上传正确的文件。
如果不起作用;尝试制作一个错误处理页面,然后回显一个变量,该变量将设置此时区的时间(如果有效)。改为使用该变量。