【问题标题】:How can i change the timestamp to my own timezone in mysql?如何在mysql中将时间戳更改为我自己的时区?
【发布时间】:2015-04-22 15:26:23
【问题描述】:

如何在 mysql 中将时间戳更改为我自己的时区?

下面是我的 PHP 代码:

$sql = "CREATE TABLE `mytable` (
`id` int(6) unsigned not null auto_increment,
`firstname` varchar(30) not null,
`lastname` varchar(30) not null,
`email` varchar(50),
`reg_date` timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ";

【问题讨论】:

  • 这就是你想要的吗? - stackoverflow.com/questions/930900/…
  • 如果您的服务器位于不同的区域,您将需要编辑您的 conf 文件。
  • @GuilhermeFerreira:我是新手......我刚刚看到你给我的链接,但我不知道把这些代码放在哪里......你能帮我我应该在哪里把它们?谢谢...
  • 好的,首先找到您的“my.cnf”或“my.ini”文件(点击链接stackoverflow.com/questions/2482234/…)。如果不存在,请创建。然后,您可以在文件中使用该行进行设置 -> default_time_zone='+00:00'
  • @GuilhermeFerreira,我只使用 WAMP,我相信我没有这些选项...

标签: php mysql timestamp


【解决方案1】:

对于单个表和列,您可以创建一个视图,当您从视图而不是表本身进行选择时,仅将时间戳列从服务器的时区转换为您的实际时区。

CREATE VIEW `v_mytable` AS
select id
      ,firstname
      ,lastname
      ,email
      ,CONVERT_TZ(regdate,'UCT','US/Pacific') as regdate
 from mytable;

如果您没有安装 CONVERT_TZ,这里将概述如何安装它: MySQL CONVERT_TZ()

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2014-04-19
    • 1970-01-01
    • 2016-02-07
    • 2013-04-22
    相关资源
    最近更新 更多