Date and Time
Ja ik weer :P
Maar ik wil weten hoe ik datum naar de dbase in een bigint weg kan zetten en de datum in een juiste formaat terug kan op halen.
Nu als ik een datum opsla, krijg ik op de pagina een raar formaat te zien.
Gebruik ik om de datum op te slaan
om op te halen.
Maar dit zie ik dan als ik op de pagina kijk
19:13:42 16-07-67017
en dat klopt niet
en in de dbase staat dit
bigint(10) -> 2074402062022
Hoe kan het zijn dat ik dan dat formaat krijg?
date lezen en in het bijzonder: time en wateen UNIX Epoch timestamp is.
Maar gebruik liever de de DATETIME functions van MySQL: https://www.mysqltutorial.org/mysql-datetime/ met NOW()
Of de DateTime class van PHP die veel uitgebreider is:
https://www.php.net/manual/en/class.datetime.php
Lees je eens in, en ga er lekker mee spelen.
Misschien even Maar gebruik liever de de DATETIME functions van MySQL: https://www.mysqltutorial.org/mysql-datetime/ met NOW()
Of de DateTime class van PHP die veel uitgebreider is:
https://www.php.net/manual/en/class.datetime.php
Lees je eens in, en ga er lekker mee spelen.
Gewijzigd op 02/06/2022 06:24:57 door - Ariën -
Het aantal seconden sinds 1970 is ook een methode maar dan moet je altijd omrekenen.
Bovendien is het aantal seconden maar een getal, en daar krijg je ook het getal in voor datums over 3245 jaar, zonder dat het direct opvalt.
En 13222202062022 is zo'n raar getal: 13:22:00 02-06-2022.
Als je dat opslaat als DATETIME kun je eventueel ook gerbuiken
UPDATE tabel SET datumtijd = NOW() WHERE x
of = NOW() + INTERVAL 1 DAY als het om "morgen" gaat.
.
Ja. Dan komt het in je database in een vorm die standaard uitgelezen wordt als de string "2022-06-02 13:22:00"
Maar daar kun je eenvoudig wat mee in PHP.
SELECT datumtijd FROM tabel ....
En dan
Code (php)
Dat heeft mijn voorkeur boven de datum functies in SQL: anders moet je steeds de query aanpassen als je de datum in een ander formaat nodig hebt om weer te geven en moet je diezelfde datum mogelijk wel 3 of meer keer in je query noemen, puur omdat je hem op zo veel verschillende plekken moet weer geven.
Gewijzigd op 02/06/2022 13:29:32 door Ivo P
Een HTML5 <input type="date"/> veld met een <input type="time"/> verzorgt al de omzetting naar de goede locale.
En als je alleen iets wilt weergeven gebruik je in JS gewoon de Date.toLocaleDateString()-functie.
Je gebruikt in de database alleen nog het standaardformat (YYYY-MM-DD HH24:MI:SS) en je doet daar in PHP niets mee.