In MySQL kunt u een datetime-waarde tussen de ene tijdzone naar de andere converteren met behulp van de CONVERT_TZ()
functie. Deze functie accepteert 3 argumenten; de datetime-waarde, de oorspronkelijke tijdzone en de tijdzone waarnaar moet worden geconverteerd.
Syntaxis en voorbeelden hieronder.
Syntaxis
Dit is de syntaxis:
CONVERT_TZ(dt,from_tz,to_tz)
Waar dt
is de datum/tijd, from_tz
is de originele tijdzone, en to_tz
is de tijdzone waarnaar moet worden geconverteerd.
Voorbeeld
Hier is een gebruiksvoorbeeld.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
Resultaat:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
Benoemde tijdzones
U kunt ook benoemde tijdzones gebruiken, zoals 'US/Eastern'
, 'Europe/Moscow'
, 'MET'
, enz.
Om dit te doen, moet u eerst de tijdzonetabellen instellen. De MySQL-installatieprocedure maakt de tijdzonetabellen aan, maar laadt ze niet. Daarom moet u deze tabellen eerst invullen.
Als u met deze functie een benoemde tijdzone probeert te gebruiken zonder eerst de tijdzonetabellen in te vullen, krijgt u een null-waarde.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
Resultaat:
+--------+ | Result | +--------+ | NULL | +--------+
Houd er rekening mee dat zelfs als u de tijdzonetabellen vult, u ze mogelijk regelmatig moet bijwerken. De informatie kan namelijk af en toe wijzigen. Zie voor meer informatie hierover MySQL Server Time Zone Support op de MySQL-documentatiewebsite.