mysql 中的 time_zone 变量是什么,我为什么要更改它
What is time_zone variable in mysql, and why should I change it
我正在观看有关 mysql 的教程,这让我问自己变量 time_zone
的作用以及为什么需要更改它。
目前,time_zone
和 NOW()
函数的值如下。
MariaDB [(none)]> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CET |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
MariaDB [(none)]> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2017-03-10 22:38:49 |
+---------------------+
1 row in set (0.00 sec)
因此,本教程建议不应使用 | time_zone | SYSTEM |
,我应该下载 Time zone description tables(另外,是的,我在 windows)
我不明白的是,如果我不按原样使用 mysql 会发生什么(通俗地说)。此外,NOW()
在我的 city/country 中打印出当前时间......所以它似乎正在工作。
可用于时区转换如CONVERT_TZ()
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_convert-tz
如果您不使用日期函数或时间戳,这对您来说并不重要。
建议将所有内容存储为UTC,然后以当地时区显示。
所以在那种情况下它会很有用。
此外,如果您正在考虑夏令时,它确实很重要,因为它会根据一年中的时间和时区设置为您进行偏移
将日期和时间存储到 DATETIME
时,就像给时钟拍照一样。
存储到TIMESTAMP
时,本地时间根据时区转换为UTC。该值存储在数据库中。当你把它取回来时;它被重新转换。如果您在这两种情况下都处于同一时区,则看不到任何差异。也就是说,在 出现 就像 DATETIME
一样操作。但是,如果世界另一端的某个人获取同一列,他们会看到它已转换为 他们的 时区。
TZ描述表需要单独安装。这是(我假设)因为它们不断变化。
"Why should I change it"?通常您应该将其设置为 SYSTEM
并适当地设置您的计算机。然后算了。如果您移动到不同的时区,然后更改系统设置。
否则,教程听起来像是在浪费您的时间。
我正在观看有关 mysql 的教程,这让我问自己变量 time_zone
的作用以及为什么需要更改它。
目前,time_zone
和 NOW()
函数的值如下。
MariaDB [(none)]> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CET |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
MariaDB [(none)]> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2017-03-10 22:38:49 |
+---------------------+
1 row in set (0.00 sec)
因此,本教程建议不应使用 | time_zone | SYSTEM |
,我应该下载 Time zone description tables(另外,是的,我在 windows)
我不明白的是,如果我不按原样使用 mysql 会发生什么(通俗地说)。此外,NOW()
在我的 city/country 中打印出当前时间......所以它似乎正在工作。
可用于时区转换如CONVERT_TZ() https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_convert-tz
如果您不使用日期函数或时间戳,这对您来说并不重要。
建议将所有内容存储为UTC,然后以当地时区显示。 所以在那种情况下它会很有用。
此外,如果您正在考虑夏令时,它确实很重要,因为它会根据一年中的时间和时区设置为您进行偏移
将日期和时间存储到 DATETIME
时,就像给时钟拍照一样。
存储到TIMESTAMP
时,本地时间根据时区转换为UTC。该值存储在数据库中。当你把它取回来时;它被重新转换。如果您在这两种情况下都处于同一时区,则看不到任何差异。也就是说,在 出现 就像 DATETIME
一样操作。但是,如果世界另一端的某个人获取同一列,他们会看到它已转换为 他们的 时区。
TZ描述表需要单独安装。这是(我假设)因为它们不断变化。
"Why should I change it"?通常您应该将其设置为 SYSTEM
并适当地设置您的计算机。然后算了。如果您移动到不同的时区,然后更改系统设置。
否则,教程听起来像是在浪费您的时间。