Datum in een nieuws database
Pater
28/06/2005 15:06:00Ik heb nog geen ervaring met PHP en MySQL, maar ik wil het gaan gebruiken.
Op mijn site Mofert.nl staat allerhande informatie en nieuws, voor de inwoners van het plaatsje Montfort. Met name het nieuws wil ik in de toekomst in een database zetten.
In de database moet o.a. ook de publicatiedatum worden opgeslagen, incl. tijd en tijdzone. Deze heb ik namelijk nodig voor mijn RSS Feed. Verder heb ik de de datum nodig voor op de nieuspagina op de site. Hoe kan ik nu het beste de datum in de database zetten, en hoe moet ik deze weer omzetten naar b.v. "Teu, 28 june 2005 15:03:26 +0200", of naar "28/06/05".
Op mijn site Mofert.nl staat allerhande informatie en nieuws, voor de inwoners van het plaatsje Montfort. Met name het nieuws wil ik in de toekomst in een database zetten.
In de database moet o.a. ook de publicatiedatum worden opgeslagen, incl. tijd en tijdzone. Deze heb ik namelijk nodig voor mijn RSS Feed. Verder heb ik de de datum nodig voor op de nieuspagina op de site. Hoe kan ik nu het beste de datum in de database zetten, en hoe moet ik deze weer omzetten naar b.v. "Teu, 28 june 2005 15:03:26 +0200", of naar "28/06/05".
PHP hulp
21/11/2024 14:37:54Ik heb het laatst als MKTIME in de database gezet (INT(10)). Je roept dan de functie mktime() aan in php en vervolgens zet je dat getal in de database. Vervolgens kun je via de date functie de datum bewerken hoe je maar wilt.
date("d-m-Y H:i:s", $mktime); zal de normale datum weergave geven zoals wij die kennen.
date("r", $mktime);
zal hem omzetten naar het format wat rss gebruikt (Teu, 28 june 2005 15:03:26 +0200).
Voor andere vormen van weergave zou ik hier even kijken:
http://www.php.net/date
Ik denk dat dit de beste oplossing is.
date("d-m-Y H:i:s", $mktime); zal de normale datum weergave geven zoals wij die kennen.
date("r", $mktime);
zal hem omzetten naar het format wat rss gebruikt (Teu, 28 june 2005 15:03:26 +0200).
Voor andere vormen van weergave zou ik hier even kijken:
http://www.php.net/date
Ik denk dat dit de beste oplossing is.
Jelmer -
28/06/2005 15:24:00Het voordeel inderdaad van een unix timestamp (dat is dat getal wat time(), mktime() maakt. Het aantal seconden na de UNIX epoch) is dat je er makkelijk mee kan rekenen, en ze met elkaar kan vergelijken.
Het nadeel is wel dat hij maak kan tot 2038 (geloof ik). Maar daar zal je niet veel last van hebben. Tegen die tijd is er al een beter alternatief/vervanger ontwikkeld ^^,
Het nadeel is wel dat hij maak kan tot 2038 (geloof ik). Maar daar zal je niet veel last van hebben. Tegen die tijd is er al een beter alternatief/vervanger ontwikkeld ^^,
Pater
28/06/2005 15:44:00Pater
28/06/2005 23:44:00Nog een probleempje:
Ik krijg bij de "r" notatie de tijdzone "+0300". Waarschijnlijk omdat de server in zich in die tijdzone bevindt. Hoe los ik dit op?
Ik krijg bij de "r" notatie de tijdzone "+0300". Waarschijnlijk omdat de server in zich in die tijdzone bevindt. Hoe los ik dit op?
Roy Bongers
29/06/2005 12:24:00Ik wee niet zeker maar misschien werkt het met setlocale(LC_ALL, 'nl_NL');
Deze moet je dan voor date("r"); aanroept plaatsen.
Deze moet je dan voor date("r"); aanroept plaatsen.