【问题标题】:MySQL timestamp not saving in GMT?MySQL时间戳不保存在格林威治标准时间?
【发布时间】:2012-05-21 03:44:06
【问题描述】:

我在 MySQL 中使用时间戳数据类型,以便将保存的任何时间戳转换为 GMT,然后在检索时从 GMT 返回。从文档来看,这一切似乎都是 MySQL 自动为我完成的;我需要做的就是使用时间戳数据类型。

但是,我注意到它似乎不起作用。我已经在我的本地机器和服务器上对此进行了测试——它似乎总是保存本地时间而不是 GMT。本地机器和服务器位于不同的时区,且都不是 GMT。

这是我的测试插入:

INSERT INTO `test` (`test_id`, `stamp`) VALUES (NULL, CURRENT_TIMESTAMP);

任何想法我做错了什么?

【问题讨论】:

  • 你用的是什么mysql浏览器工具? phpmyadmin?还是mysql终端?
  • 是的...我遇到了同样的问题...但是当我尝试将我的数据库浏览到 mysql 终端并使用此代码设置我的 mysql "SET time_zone = '+00:00'; "我看到我的数据保存在格林威治标准时间
  • 我在 HeidiSQL 中试过了,但它仍然以本地时间存储。然后我在插入 SQL 之前设置了时区。仍然以当地时间保存。
  • 在你的 mysql 终端上试一试...如果您使用的是 windows,请使用命令提示符访问您的 mysql...
  • 我不熟悉如何从命令行使用 MySQL。既然是我的应用程序将执行此操作,我可以从那里执行此操作吗?

标签: mysql timestamp


【解决方案1】:

尝试使用 mysql 终端访问您的数据库

1) 首先输入此代码SET time_zone = '+00:00';

2) 然后现在执行您的 SELECT 来检查您的数据

您可以使用以下链接中的方法访问您的 mysql。 How can I access the MySQL command line with XAMPP for Windows?

希望你能理解你的情况

注意

时间戳在时区中自动转换,为连接在 mysql 上的任何客户端调整。所以你不能真正看到它的原始时间,但这总是取决于你设定的时区

【讨论】:

  • 我不知道如何从命令行使用 MySQL。在我的应用程序中进行测试。
  • 时间戳在时区中自动转换,为连接到 mysql 的任何客户端调整。所以你不能真正看到它的原始时间,但它总是取决于你设定的时区......我还在想你哪里出错了
猜你喜欢
  • 2011-02-20
  • 2011-05-13
  • 2011-10-30
  • 2013-03-10
  • 1970-01-01
  • 2013-06-01
  • 2010-12-02
  • 2019-11-25
  • 2011-02-04
相关资源
最近更新 更多