Ik ging ervan uit dat er een verschil is tussen opslaan als integer en opslaan als string? Of ligt dat aan de value-type (timestamp is alleen cijfers, dus integer)?
Ik wil het resultaat overigens niet als datum aan de voorkant weergeven, dus hoeft geen "leesbare datum" te worden. Gewoon een timestamp met tijd 00:00 uur.
Of je het in MySQL als INT of VARCHAR opslaat, dat boeit PHP helaas niet echt.
Maar behandel in PHP wel de datatypes wel zoals wat ze werkelijk zijn.
En probeer mijn voorbeeld eens. Daar zie ik geen datum in.
Het is een kwestie van de juiste datetime-modifiers in je format() te gebruiken. Zo kan je elke formattering gebruiken die je maar wenst.
Met jouw voorbeeld wordt $date met "leesbaar" formaat getoond (08:19), maar ik wil de (Unix) timestamp blijven gebruiken. Jaar/maand/dag en dus met tijd 00:00. Hoe bereik ik dat dan?
Ik weet dat ik de tijd kan instellen:
setTime( 0, 0, 0, 0)
Maar heb te weinig kennis om dit te combineren met jouw voorbeeld.
[edit]
timestamp is wel juist. Maar let ook op de timezone waar je in werkt. Mogelijk staat dat al centraal in je config of in php.ini, maar als niet, dan kun je zo maar zitten te werken op een Amerikaans, Engelse of Russische tijd.
[/edit]
Maar is er een reden om alle tijdstippen uit te rekenen obv het aantal seconden sinds 1970?
Ja: tutorials van een jaar of 10 oud doen dat, omdat toen datetime nog niet bestond.
En ook databases als MySQL kennen kolommen van het type DateTime.
Ook daar kun je veel gemakkelijker mee werken.
Stel je wilt alle records die op een dinsdag zijn ingevoerd:
SELECT * FROM Tabel WHERE DAYOFWEEK(datumtijdkolom) = 3