我有一个名为“students”的表,用于存储学生信息。上周,我添加了一个列(键入datetime)来跟踪学生上次登录的时间。
在使用localhost进行测试时,它工作得很好。所以,我上传到主机,几天后,我注意到datetime与我的本地时间不同。我在代码中调用了now()函数,它将随服务器时间(美国西雅图时间)插入。我试着用我的时区来设定。
SELECT @@session.time_zone;
SET time_zone = 'Asia/Rangoon';
SET time_zone = "+06:30";
SET @@session.time_zone = "+06:30";
虽然它是执行的,但它不会像以前那样影响和插入服务器时间。
我的问题是如何将现有的datetime值列更新到各自的时区。谢谢,谢谢。
1条答案
按热度按时间lfapxunr1#
最好的方法是用utc保存所有日期。只有在演示时,这些时间才应转换为用户的时间和区域。因为您使用的是php,所以可以将输入转换为utc,并将输出转换为所需的时区进行表示。这也使得在你的网站上向外国访问者展示他们自己的时间变得容易和可能。