MySQL日期时间函数 CONVERT_TZ() 用法
时间:2021-12-06 作者:匿名
UTC 代表协调世界时。它是时间标准,在世界范围内普遍使用。MYSQL CURDATE()用于将给定日期从一个时区转换为另一个时区。此函数接受 3 个参数 -
date - 您需要转换的日期值。
from_tz - 日期的当前时区
to_tz - 您需要将当前日期转换到的时区。
以下是不同时区的列表:
号码 | 名称和描述 | 相对于格林威治标准时间 |
---|---|---|
1 | GMT 格林威治标准时间 | 格林威治标准时间 |
2 | UTC 世界协调时间 | 格林威治标准时间 |
3 | ECT 欧洲中部时间 | 格林威治标准时间+1:00 |
4 | EET 东欧时间 | 格林威治标准时间+2:00 |
5 | ART (阿拉伯语)埃及标准时间 | 格林威治标准时间+2:00 |
6 | EAT 东非时间 | 格林威治标准时间+3:00 |
7 | MET 中东时间 | 格林威治标准时间+3:30 |
8 | NET 近东时间 | 格林威治标准时间+4:00 |
9 | PLT 巴基斯坦拉合尔时间 | 格林威治标准时间+5:00 |
10 | IST 印度标准时间 | 格林威治标准时间+5:30 |
11 | BST 孟加拉国标准时间 | 格林威治标准时间+6:00 |
12 | VST 越南标准时间 | 格林威治标准时间+7:00 |
13 | CTT 中国台湾时间 | 格林威治标准时间+8:00 |
14 | JST 日本标准时间 | 格林威治标准时间+9:00 |
15 | ACT 澳大利亚中部时间 | 格林威治标准时间+9:30 |
16 | AET 澳大利亚东部时间 | 格林威治标准时间+10:00 |
17 | SST 所罗门标准时间 | 格林威治标准时间+11:00 |
18 | NST 新西兰标准时间 | 格林威治标准时间+12:00 |
19 | MIT 中途岛时间 | GMT-11:00 |
20 | HST 夏威夷标准时间 | GMT-10:00 |
21 | AST 阿拉斯加标准时间 | GMT-9:00 |
22 | PST 太平洋标准时间 | GMT-8:00 |
23 | PNT 凤凰城标准时间 | GMT-7:00 |
24 | MST 山区标准时间 | GMT-7:00 |
25 | CST 中部标准时间 | GMT-6:00 |
26 | EST 东部标准时间 | GMT-5:00 |
27 | IET 印第安纳东部标准时间 | GMT-5:00 |
28 | PRT 波多黎各和美属维尔京群岛时间 | GMT-4:00 |
29 | CNT 加拿大纽芬兰时间 | GMT-3:30 |
30 | AGT 阿根廷标准时间 | GMT-3:00 |
31 | BET 巴西东部时间 | GMT-3:00 |
32 | CAT 中非时间 | GMT-1:00 |
语法
以下是上述函数的语法:
CONVERT_TZ(dt,from_tz,to_tz)
示例
以下示例演示了CONVERT_TZ()函数的用法- mysql> SELECT CONVERT_TZ('15:30:00','+00:00','+10:00'); +-----------------------------------------------------+ | CONVERT_TZ('2019-11-21 15:30:00','+00:00','+10:00') | +-----------------------------------------------------+ | 2019-11-22 01:30:00 | +-----------------------------------------------------+ 1 row in set (0.00 sec)
示例
以下是此功能的另一个示例:
mysql> SELECT CONVERT_TZ('1919-06-21 21:00:00','+00:00','+10:00'); +-----------------------------------------------------+ | CONVERT_TZ('1919-06-21 21:00:00','+00:00','+10:00') | +-----------------------------------------------------+ | 1919-06-21 21:00:00 | +-----------------------------------------------------+ 1 row in set (0.00 sec)
跟多示例
假设我们使用以下查询创建了一个名为dispatches_data的表,其中有 5 条记录 -
mysql> CREATE TABLE dispatches_data( ProductName VARCHAR(255), CustomerName VARCHAR(255), DispatchTimeStamp timestamp, Price INT, Location VARCHAR(255) ); insert into dispatches_data values('Key-Board', 'Raja', TIMESTAMP('2019-05-04', '15:02:45'), 7000, 'Hyderabad'); insert into dispatches_data values('Earphones', 'Roja', TIMESTAMP('2019-06-26', '14:13:12'), 2000, 'Vishakhapatnam'); insert into dispatches_data values('Mouse', 'Puja', TIMESTAMP('2019-12-07', '07:50:37'), 3000, 'Vijayawada'); insert into dispatches_data values('Mobile', 'Vanaja' , TIMESTAMP ('2018-03-21', '16:00:45'), 9000, 'Chennai'); insert into dispatches_data values('Headset', 'Jalaja' , TIMESTAMP('2018-12-30', '10:49:27'), 6000, 'Goa');
以下查询将 DispatchTimeStamp 中的日期从 GMT(格林威治标准时间)列转换为 IST(印度标准时间):
mysql> SELECT ProductName, CustomerName, DispatchTimeStamp, Price, CONVERT_TZ(DispatchTimeStamp, '+00:00','+05:30') FROM dispatches_data; +-------------+--------------+---------------------+-------+--------------------------------------------------+ | ProductName | CustomerName | DispatchTimeStamp | Price | CONVERT_TZ(DispatchTimeStamp, '+00:00','+05:30') | +-------------+--------------+---------------------+-------+--------------------------------------------------+ | Key-Board | Raja | 2019-05-04 15:02:45 | 7000 | 2019-05-04 20:32:45 | | Earphones | Roja | 2019-06-26 14:13:12 | 2000 | 2019-06-26 19:43:12 | | Mouse | Puja | 2019-12-07 07:50:37 | 3000 | 2019-12-07 13:20:37 | | Mobile | Vanaja | 2018-03-21 16:00:45 | 9000 | 2018-03-21 21:30:45 | | Headset | Jalaja | 2018-12-30 10:49:27 | 6000 | 2018-12-30 16:19:27 | +-------------+--------------+---------------------+-------+--------------------------------------------------+ 5 rows in set (0.00 sec)