我有一个名为“学生”的表,用于存储学生信息。上周,我添加了一个列(type-datetime)来跟踪学生的上次登录时间。
使用本地主机进行测试时,它运行良好。因此,我上传到托管服务器,几天后,我发现datetime与当地时间有所不同。我在代码中调用了now()函数,它随服务器时间(西雅图,美国时间)一起插入。我尝试将其设置为我的时区。
SELECT @@session.time_zone;
SET time_zone = 'Asia/Rangoon';
SET time_zone = "+06:30";
SET @@session.time_zone = "+06:30";
尽管它已执行,但不会像以前那样影响和插入服务器时间。
我的问题是如何将现有的datetime值列更新为各自的时区。谢谢和赞赏。
最佳答案
恕我直言,最好的方法是将所有日期保存在UTC中。仅在演示时,这些时间应转换为用户的时间和区域。
因为使用的是PHP,所以可以将输入转换为UTC并将输出转换为所需的时区以进行演示。
这也使向外国访问者在您的网站上显示自己的时间变得容易且可能。
关于mysql - 将我现有的datetime列更新为mysql中的相应时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52163572/