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.