MySQL 中的 CONVERT_TZ()函数
MySQL 中的CONVERT_TZ ()函数用于将给定的 DateTime 从一个时区转换为另一个时区。如果参数无效,函数将返回 NULL。
句法 :
CONVERT_TZ (dt, from_tz,to_tz)
参数:此方法接受三个参数。
- dt :我们要转换的给定日期时间。
- from_tz :我们要从中转换 DateTime 的时区。
- to_tz :我们要转换 DateTime 的时区。
回报:
它在转换为指定的时区后返回 DateTime。
示例-1:
将日期时间从 GMT(格林威治标准时间)转换为 IST(印度标准时间)
SELECT CONVERT_TZ('2020-11-19 19:59:00', '+00:00', '+05:30')
As IST_TIME;
输出 :
IST_TIME |
---|
2020-11-20 01:29:00 |
示例 2 :
将日期时间从 GMT(格林威治标准时间)转换为 GST(海湾标准时间)
SELECT CONVERT_TZ('2020-11-19 10:53:00', '+00:00', '+04:00')
As GST_TIME;
输出 :
GST_TIME |
---|
2020-11-19 14:53:00 |
示例 3 :
CONVERT_TZ函数可用于设置列的值。为了演示创建一个名为 FlightDetails 的表。
CREATE TABLE FlightDetails(
FlightId INT NOT NULL,
Source VARCHAR(20) NOT NULL,
Destination VARCHAR(20) NOT NULL,
DepartureTime DATETIME NOT NULL,
ArrivalTime DATETIME NOT NULL,
PRIMARY KEY(FlightId )
);
现在在 FlightDetails 表中插入值。我们将使用 CONVERT_TZ函数来检查源机场和目的地机场的出发和到达时间。
INSERT INTO
FlightDetails(FlightId, Source, Destination,
DepartureTime , ArrivalTime )
VALUES
(12345, 'New York', 'New Delhi', '2020-11-19 10:53:00',
'2020-11-20 12:53:00');
现在,检查 FlightDetails
SELECT
FlightId , Source ,Destination ,
DepartureTime AS DepTimeInEST ,
CONVERT_TZ(DepartureTime, '-05:00', '+05:30')
As DepTimeInIST ,
ArrivalTime AS ArrTimeInIST ,
CONVERT_TZ(ArrivalTime , '+05:30', '-05:00')
As ArrTimeInEST
FROM FlightDetails;
输出 :
FLIGHTID | SOURCE | DESTINATION | DEPTIMEINEST | DEPTIMEINIST | ARRTIMEINIST | ARRTIMEINEST |
---|---|---|---|---|---|---|
12345 | New York | New Delhi | 2020-11-19 10:53:00 | 2020-11-19 21:23:00 | 2020-11-20 12:53:00 | 2020-11-20 02:23:00 |