相关疑难解决方法(0)

如何设置MySQL的时区?

在一台服务器上,当我运行时:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 16:54:29 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

在另一台服务器上

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 20:01:43 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

mysql timezone

301
推荐指数
14
解决办法
62万
查看次数

MySQL的时区应该设置为UTC吗?

跟进https://serverfault.com/questions/191331/should-servers-have-their-timezone-set-to-gmt-utc的问题

MySQL时区应该设置为UTC还是应该设置为与服务器或PHP设置相同的时区?(如果不是UTC)

优缺点都有什么?

mysql time utc

135
推荐指数
1
解决办法
16万
查看次数

如何在MySql中将UTC日期转换为本地时区选择查询

我正在使用MySql Database.Iy中的一个查询中的Where Condition.我的问题是我的表中有一个displaytime列,但该表列显示UTC时间中的数据.我想在本地时间转换该displaytime列Zone.so如何从查询本身提供此工具.

我已经对这些东西进行了调整,并且我知道那样的东西SELECT CONVERT_TZ()会起作用.但它不适合我.

这是我的查询,我需要将显示时间转换为本地时区...所以有人可以指导我吗?

WHERE displaytime >= '2012-12-01 00:00:00'
  AND displaytime <='2013-02-22 23:59:59'
  AND ct.organizationId IN (
    SELECT t.organizationId
      FROM organization_ AS t
      JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
     WHERE p.organizationId = 10707
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 样本数据

在此输入图像描述

mysql utc localtime convert-tz

48
推荐指数
3
解决办法
14万
查看次数

为什么PHP和MySQL unix时间戳在1983-10-29分歧?

我一直在我的应用程序中使用PHP strtotime和MySQL的UNIX_TIMESTAMP函数,将日期转换为时间戳.PHP和MySQL在我的本地机器上运行,这些函数通常返回相同的结果,正如我所期望的那样:

$ php
<?php echo strtotime("2011-06-02"); ?>
1307001600

mysql> SELECT UNIX_TIMESTAMP("2011-06-02") ts;
+------------+
| ts         |
+------------+
| 1307001600 |
+------------+
Run Code Online (Sandbox Code Playgroud)

但是,偶然地,我碰巧注意到当我1983-01-01作为日期输入时,结果不再相等:

$ php
<?php echo strtotime("1983-01-01"); ?>
410263200

mysql> SELECT UNIX_TIMESTAMP("1983-01-01") ts;
+-----------+
| ts        |
+-----------+
| 410256000 |
+-----------+
Run Code Online (Sandbox Code Playgroud)

如您所见,PHP返回410263200,而MySQL返回410256000 - 相差7200秒.

这让我很好奇,我想知道时间戳不再等同于什么日期,所以我写了一个以今天的日期(Ymd格式)开头的小程序,使用PHP strtotime和MySQL UNIX_TIMESTAMP并比较结果.然后它从每个值中减去1天并循环直到它们不再相等.

结果:

1983年10月29日

1983年10月29日,出于某种原因,strtotimeUNIX_TIMESTAMP返回值,通过7200秒不同.

有任何想法吗?

谢谢阅读.

php mysql datetime date

29
推荐指数
1
解决办法
606
查看次数

MySQL:数据截断:日期时间值不正确:'2006-10-01 02:22:44'

我通过JDBC使用MySQL更新一行时遇到以下异常:

com.mysql.jdbc.MysqlDataTruncation:数据截断:日期时间值不正确:'2006-10-01 02:22:44'

该列定义为:

' created_on_servicetimestamp NULL DEFAULT NULL'

该列上没有索引或外键.

显然,这不是数据类型的问题.我在该日期时间之前和之后都有该表中的值.我也有在上午2:22之前和之后的时间值.

mysql jdbc

13
推荐指数
2
解决办法
4万
查看次数

DATETIME VS INT用于存储时间?

哪一个最好用,DateTime或INT(Unix时间戳)或其他任何东西来存储时间值?

我认为INT在性能方面会更好,也更普遍,因为它可以很容易地转换为许多时区.(我来自世界各地的网络访问者可以看到没有混淆的时间)

但是,我仍然怀疑它.有什么建议?

mysql time datetime unix-timestamp

10
推荐指数
1
解决办法
3203
查看次数

标签 统计

mysql ×6

datetime ×2

time ×2

utc ×2

convert-tz ×1

date ×1

jdbc ×1

localtime ×1

php ×1

timezone ×1

unix-timestamp ×1