datetime converteren naar tijdzone

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Veur Heur

Veur Heur

08/07/2022 16:33:38
Quote Anchor link
Ik heb een tabel met openingstijden: openingstijd | tijdzone

Graag zou ik "openingstijd" opvragen bijbehorende tijdzone. Dit zou volgens mij moeten werken, echter geeft dit alleen NULL:

SELECT CONVERT_TZ(openingstijd, 'Europe/Paris', tijdzone) FROM openingstijden
 
PHP hulp

PHP hulp

20/04/2024 16:57:26
 
Adoptive Solution

Adoptive Solution

08/07/2022 17:10:32
Quote Anchor link
Uit de documentatie maak ik op dat de tijdzones met naam eerst geladen moeten worden.

Quote:
By default, these time zone tables in the mysql database are created, but not populated.


https://mariadb.com/kb/en/time-zones/
https://mariadb.com/kb/en/mysqltime_zone_name-table/
https://mariadb.com/kb/en/convert_tz/

Met genummerde tijdzones lukt het wel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT * FROM mysql.time_zone_name;
SELECT now(), CONVERT_TZ( now(),'+00:00','+05:00') AS time1;


Aks noodoplossing zou je zelf zo’n zone lijst kunnen maken.
Gewijzigd op 08/07/2022 17:13:17 door Adoptive Solution
 
Veur Heur

Veur Heur

08/07/2022 17:12:51
Quote Anchor link
Kraakhelder antwoord. Dan ga ik eerst eens praten met m'n hoster en als die niet mee wil werken (wat ik me niet zou verbazen) dan een manier verzinnen de timezone of om te zetten naar de genummerde tijdzone of anders op te slaan.
 
Adoptive Solution

Adoptive Solution

08/07/2022 17:14:10
Quote Anchor link
Ik voegde net een suggestie toe met die oplossing

Toevoeging op 08/07/2022 17:18:22:

Lijstje maken?


https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Toevoeging op 08/07/2022 17:23:20:

Hier downloaden

https://timezonedb.com/download
 
Ad Fundum

Ad Fundum

12/07/2022 10:57:36
Quote Anchor link
Veur Heur op 08/07/2022 17:12:51:
Dan ga ik eerst eens praten met m'n hoster en als die niet mee wil werken [..] een manier verzinnen de timezone [..] anders op te slaan.

Als je tijdzones anders op wilt slaan: neem PostgreSQL in overweging, dan hoef je niet zelf apart met timezones te rekenen. Je kunt tijdzones gewoon opslaan in een TIME of TIMEZONE veld met WITH TIME ZONE, en alle datum- en tijd- functies houden er rekening mee. Geen gedoe met zelf laden van tijdzones in MySQL / MariaDB. Doordat je steeds zelf overal aan moet denken kost het je extra tijd en is de kans op fouten groter in MySQL / MariaDB. Dit alles gaat beter met PostgreSQL.

Als je over kunt op PostgreSQL, moet je hostingpartij dat wel aankunnen. Er zijn webhosters die ook PostgreSQL aanbieden als je even op internet zoekt, of je kunt hier er eentje uitkiezen.

PostgreSQL werkt net als MySQL goed samen met PHP, als je PDO gebruikt kan je meteen over en anders gebruik je de PostgreSQL extentie in PHP.
Gewijzigd op 12/07/2022 10:59:04 door Ad Fundum
 
Veur Heur

Veur Heur

12/07/2022 10:59:16
Quote Anchor link
Shared hosting dan zit je min of meer aan MySQL vast hè. Maar goed, gisteren heeft m'n hoster de tabellen geladen en nu werkt het zoals verwacht.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.