【问题标题】:timestamp to use specific timezone?使用特定时区的时间戳?
【发布时间】:2014-05-07 09:30:02
【问题描述】:

下面是我的表定义,它自动将时间戳值插入每条记录。我想要做的就是让时间戳使用特定的时区,例如在我的情况下我希望它使用不列颠哥伦比亚省的当前时间我该怎么做?

因为当我在表中插入数据时,我并没有真正从我的 php 脚本中传递时间戳值,而是采用默认值。

CREATE TABLE `cfv_postbusupdate` (
  `BusNumber` int(11) NOT NULL,
  `Direction` varchar(100) DEFAULT 'Not Provided',
  `StopNames` varchar(300) DEFAULT 'Not Provided',
  `Status` varchar(45) DEFAULT 'Not Provided',
  `comments` varchar(150) DEFAULT 'None',
  `username` varchar(45) DEFAULT 'anonymous_user',
  `dayofweek` varchar(45) DEFAULT NULL,
  `time` varchar(20) DEFAULT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `DatePosted` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

【问题讨论】:

    标签: mysql phpmyadmin


    【解决方案1】:

    时间戳存储为 UTC 值,并在检索时转换为应用程序使用的时区。如果您想要不列颠哥伦比亚省时间,请使用SET time_zone = 'america/vancouver'; 设置时区

    手册参考是here

    【讨论】:

    • 不确定我做对了,但我打开了 phpmyadmin 并在 sql SQL 选项卡中尝试运行以下命令 SET time_zone = 'america/vancouver';但出现以下错误 #1298 - 时区未知或不正确:'america/vancouver' ?
    • 如果您没有安装时区字符串,它们将不起作用。如果您在托管服务器上运行,您的 ISP 将不得不这样做。您可以使用set time_zone = '+08:00'(或任何您的偏移量),但这不会考虑夏令时。请注意,此设置适用于每个连接。请参阅我链接到的参考手册以获取完整的纲要。
    【解决方案2】:

    使用这个:参考这个链接:https://stackoverflow.com/a/6158432/3242978

    -- Make sure we're all working off of the same local time zone
    test=> SET timezone = 'America/Los_Angeles';
    SET
    test=> SELECT NOW();
                  now              
    -------------------------------
     2011-05-27 15:47:58.138995-07
    (1 row)
    
    test=> SELECT NOW() AT TIME ZONE 'UTC';
              timezone          
    ----------------------------
     2011-05-27 22:48:02.235541
    (1 row)
    

    更新:1

    根据MySQL docs,错误#1193SQLSTATE使用错误的代码。

    Message: Unknown system variable %s
    

    而且,正如您在 same page 上看到的,SQLSTATE 99003 未定义。

    【讨论】:

    • 我可以使用 phpmyadmin 运行这个命令吗?我试过了,但出现错误 #1193 - Unknown system variable 'timezone'
    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 2015-03-03
    • 2012-06-10
    • 1970-01-01
    • 2013-10-23
    • 2012-03-23
    相关资源
    最近更新 更多