当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL CONVERT_TZ方法用法及代码示例


MySQL 的 CONVERT_TZ(~) 方法将日期时间值从一个时区转换为另一个时区。

参数

1. datetime | datetime

从一个时区转换为另一时区的日期时间。

2. from_tz | timezone

要转换的原始时区。

3. to_tz | timezone

要转换到的时区。

返回值

转换为时区的日期时间值作为 to_tz 参数传递。

例子

基本用法

要将东京当前本地时间转换为 EST(东部标准时间):

SELECT NOW(), CONVERT_TZ(NOW(), 'Asia/Tokyo','America/New_York');



+---------------------+----------------------------------------------------+
| NOW()               | CONVERT_TZ(NOW(), 'Asia/Tokyo','America/New_York') |
+---------------------+----------------------------------------------------+
| 2020-05-19 22:32:17 | 2020-05-19 09:32:17                                |
+---------------------+----------------------------------------------------+

我们将东京的当前时间转换为纽约的等效时间。

要使用偏移格式转换时间:

SELECT CONVERT_TZ('2020-04-26 17:32:11', '+08:00', '-05:00');



+-------------------------------------------------------+
| CONVERT_TZ('2020-04-26 17:32:11', '+09:00', '-05:00') |
+-------------------------------------------------------+
| 2020-04-26 04:32:11                                   |
+-------------------------------------------------------+

这里+08:00代表东京时间,而-05:00代表纽约时间。这些都是与 UTC(协调世界时)的偏移量。

故障排除

Linux 和 macOS

如果示例中的上述查询返回 NULL ,请确保您已将时区表加载到 mysql 中。 MySQL 安装过程会创建时区表,但不会加载它们。因此,我们必须通过在终端命令行中运行以下命令来手动加载它们:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

在此,请注意以下事项:

  • mysql_tzinfo_to_sql 是将信息加载到时区表的程序。

  • /usr/share/zoneinfo 是我们获取说明时区的文件集的地方。

  • -u 是用户名的标志。该帐户必须具有修改 mysql 系统架构中的表的权限。

  • -p 是密码标志。

如果您遇到以下错误:

Warning: Unable to load '/usr/share/zoneinfo/+VERSION' as time zone.

您可以通过添加强制开关来覆盖它:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql --force
Windows

如果示例中的上述查询返回 NULL ,则需要继续执行以下步骤将信息加载到 mysql 中的时区表中:

1.从https://dev.mysql.com/downloads/timezones.html下载时区包文件

2. 解压文件并将它们移动到 MySQL 目录(例如 C:\ProgramData\MySQL\MySQL Server 8.0\data\mysql )

3. 使用以下命令加载文件中的时区信息:

mysql -u root -p mysql < file_name

在此,请注意以下事项:

  • -u 是用户名的标志。该帐户必须具有修改 mysql 系统架构中的表的权限。

  • -p 是密码标志。

  • file_name 是步骤 2 中解压的文件的名称。

4. 重新启动MySQL 服务器。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | CONVERT_TZ method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。