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 服务器。
相关用法
- MySQL CONVERT_TZ()用法及代码示例
- MySQL CONVERT( )用法及代码示例
- MySQL CONV( )用法及代码示例
- MySQL CONV方法用法及代码示例
- MySQL CONCAT()用法及代码示例
- MySQL CONCAT方法用法及代码示例
- MySQL CONCAT_WS方法用法及代码示例
- MySQL CONNECTION_ID( )用法及代码示例
- MySQL CONCAT_WS()用法及代码示例
- MySQL COUNT()用法及代码示例
- MySQL COT()用法及代码示例
- MySQL COMPRESS( )用法及代码示例
- MySQL COT方法用法及代码示例
- MySQL COALESCE()用法及代码示例
- MySQL COS()用法及代码示例
- MySQL COUNT方法用法及代码示例
- MySQL COS方法用法及代码示例
- MySQL CURTIME()用法及代码示例
- MySQL Convert()用法及代码示例
- MySQL CEIL方法用法及代码示例
- MySQL CHARACTER_LENGTH()用法及代码示例
- MySQL CEILING()用法及代码示例
- MySQL CURRENT_TIME()用法及代码示例
- MySQL CHAR_LENGTH()用法及代码示例
- MySQL CHAR and VARCHAR用法及代码示例
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | CONVERT_TZ method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。