Description:
Conversion between UTC and 'Europe/London' fails during summer time (BST). The returned time has been converted as if winter time (GMT), or not converted at all.
How to repeat:
set time_zone='UTC';
select now();
+---------------------+
| now() |
+---------------------+
| 2015-06-22 10:36:09 |
+---------------------+
set time_zone='Europe/London';
+---------------------+
| now() |
+---------------------+
| 2015-06-22 11:36:14 |
+---------------------+
SELECT CONVERT_TZ('2000-01-01 00:00:00', 'Europe/London', 'UTC');
+-----------------------------------------------------------+
| CONVERT_TZ('2000-01-01 00:00:00', 'Europe/London', 'UTC') |
+-----------------------------------------------------------+
| 2000-01-01 00:00:00 |
+-----------------------------------------------------------+
SELECT CONVERT_TZ('2000-01-01 00:00:00', 'UTC', 'Europe/London');
+-----------------------------------------------------------+
| CONVERT_TZ('2000-01-01 00:00:00', 'UTC', 'Europe/London') |
+-----------------------------------------------------------+
| 2000-01-01 00:00:00 |
+-----------------------------------------------------------+
It can be seen that MySQL understands the two time zones, and yet fails to convert between them.
Other times zones like 'UTC' to 'Australia/Sydney' work without issue.
Description: Conversion between UTC and 'Europe/London' fails during summer time (BST). The returned time has been converted as if winter time (GMT), or not converted at all. How to repeat: set time_zone='UTC'; select now(); +---------------------+ | now() | +---------------------+ | 2015-06-22 10:36:09 | +---------------------+ set time_zone='Europe/London'; +---------------------+ | now() | +---------------------+ | 2015-06-22 11:36:14 | +---------------------+ SELECT CONVERT_TZ('2000-01-01 00:00:00', 'Europe/London', 'UTC'); +-----------------------------------------------------------+ | CONVERT_TZ('2000-01-01 00:00:00', 'Europe/London', 'UTC') | +-----------------------------------------------------------+ | 2000-01-01 00:00:00 | +-----------------------------------------------------------+ SELECT CONVERT_TZ('2000-01-01 00:00:00', 'UTC', 'Europe/London'); +-----------------------------------------------------------+ | CONVERT_TZ('2000-01-01 00:00:00', 'UTC', 'Europe/London') | +-----------------------------------------------------------+ | 2000-01-01 00:00:00 | +-----------------------------------------------------------+ It can be seen that MySQL understands the two time zones, and yet fails to convert between them. Other times zones like 'UTC' to 'Australia/Sydney' work without issue.