Ik heb een website waarbij je nieuw hebt...
En daar staat altijd onderin 'geplaatst op: ....'.
Alleen nu heb ik ook een rss feed (gebruik ik de zelfde database voor).
Hij zet de datum nu zo gewoon in de database:

<?
$time=$jaar[$day]." ".Date(d)." ".$maand[$month]." ".Date(Y).", ".Date("g:i a");

Of te wel (voorbeeld):
maandag 17 juli 2006, 5:12 pm

Nou heb ik een probleem, omdat xml (rss) dit niet zo snappen.
Voorbeeld rss feed:
2006-07-17T05:12:00

En zo'n feed zet dat automatisch op (IE 7) naar:
maandag 17 juli 2006, 5:12:0

Hoe moet ik dit nu oplossen?
Want hoe kan zo'n rssreader nou dit 2006-07-17T05:12:00 omzetten naar dit:
maandag 17 juli 2006, 5:12:00

Wat dat wil ik ook wel zo doen met het nieuws...
Dat ik dit dan in de database zet:
17T05:12:00 (maar ook hier de vraag hoe)


Melroy van den Berg
Sla je die op als varchar of zo? Zo kun je toch nooit sorteren op datum? Een datum moet je opslaan als timestamp (INT 10) of datum tijd object (DATETIME).

Wil je je RSS feed valid maken dan moet je datum er zo uit zien:

echo date('r', $timestamp);

Wat je kan doen is 't volgende:

echo date('r', strtotime($datum));

Ik weet alleen niet of ie dan de juiste datum er uit gooit omdat je gebruik maakt van nederlandse namen etc.

Terugkomend op je vraag:
Elke RSS reader handelt zijn datums anders af en 't is niet aan jou om daar controle over te hebben.

edit: Wil je je datum dus altijd fatsoenlijk hebben in elke RSS reader dan zul je je aan 't bovenstaande format moeten houden. Dit staat ook gespecificeert in:
http://blogs.law.harvard.edu/tech/rss
Wat is dan het verschil tussen TIMESTAMP en TIME?
En waar moet ik die variable vandaan toveren ($timestamp en $datum)

Moet ik het er dan zo in de database stoppen?:
2006-07-17

Wat ik wil zowel een goede datum voor rss feed, als een leesbare datum (gewoon 17-7-2006 wat na 'geplaatst op:' komt bij het nieuws).
Zie de handleiding voor de verschillen tussen de diverse data-types. Overigens is een DATETIME aan te raden, daar kun je het meeste mee doen.

Jouw PHP-code moet er voor zorgen dat alles netjes naar het formaat yyyy-mm-dd hh:mm:ss wordt geconverteerd.
Je hebt de 24-uurs klok nodig.

En wanneer je de datum en tijd van het heden (dus nu) in de database wilt zetten, gebruik dan de MySQL-functie NOW(). Dan heb je helemaal geen php-code nodig.
Melroy van den Berg schreef op 17.07.2006 19:44
ow dat wist ik niet:)

INSERT INTO news (time) VALUES (NOW())
zo?
Heb je het al geprobeerd? Uiteraard met foutafhandeling...

Reageren