PHP werken met datum en tijd
Het gemakkelijkste is om te werken met timestamps binnen PHP.
Een timestamp is een getal dat het aantal seconden voorstelt verstreken sinds 1 januari 1970 00:00:00 GMT. Sinds die datum om middernacht is er als het ware een soort tellertje bezig met alle verstreken seconden te tellen. Via PHP kunnen we nu gemakkelijk dit tellertje oproepen via time() en zo het aantal verstreken seconden te weten komen vanop het moment dat het script runt.
time(); //roept het aantal seconden op sinds 1 januari 1970
mktime(); //roept het aantal verstreken seconden op, bij de ingevulde datum
date(); //geef een datum weer aan de hand van een pattern*
Stel dat ik het timestamp neem van het moment waarop ik dit artikel schreef (10 mei 2008 om 10:52:00) was het timestamp 1210409492. Dit wil zeggen dat sinds 1970 om middernacht al 1210409492 seconden waren verstreken. Het voordeel van het bijhouden van timestamps is dat je hieruit datum, tijd, dag van de week en andere informatie kan halen. Stel dat we een forum hebben en dat iemand iets post op het timestamp 1139429594 kunnen we hieruit halen wat de exacte datum, uur en zelfs second was. Daarom is het belangrijk in grote systemen om steeds het timestamp van een handeling in de database te zetten en niet bijvoorbeeld 10/05/08 11:25:00.
//syntax: date(PATTERN, TIMESTAMP);
$var = date("d-m-y", 1139429594);
print $var;
Door deze code zal de dag, de maand en het jaar van dat timestamp in een variabel $var worden gestopt en vervolgens op het scherm getoond.
Via de functie mktime() kan je gemakkelijk een timestamp te weten komen van een datum in het verleden.
//syntax mktime(UUR, MINUUT, SECOND, MAAND, DAG, JAAR
$timestamp = mktime(12, 00, 00, 01, 25, 1992); //696340800
$dag = date("l", $timestamp);
print '25 januari 1992 was een '.$dag;//Saturday
Wat is nu juist een timestamp?
Een timestamp is een getal dat het aantal seconden voorstelt verstreken sinds 1 januari 1970 00:00:00 GMT. Sinds die datum om middernacht is er als het ware een soort tellertje bezig met alle verstreken seconden te tellen. Via PHP kunnen we nu gemakkelijk dit tellertje oproepen via time() en zo het aantal verstreken seconden te weten komen vanop het moment dat het script runt.
time(); //roept het aantal seconden op sinds 1 januari 1970
mktime(); //roept het aantal verstreken seconden op, bij de ingevulde datum
date(); //geef een datum weer aan de hand van een pattern*
* Het pattern
Stel dat ik het timestamp neem van het moment waarop ik dit artikel schreef (10 mei 2008 om 10:52:00) was het timestamp 1210409492. Dit wil zeggen dat sinds 1970 om middernacht al 1210409492 seconden waren verstreken. Het voordeel van het bijhouden van timestamps is dat je hieruit datum, tijd, dag van de week en andere informatie kan halen. Stel dat we een forum hebben en dat iemand iets post op het timestamp 1139429594 kunnen we hieruit halen wat de exacte datum, uur en zelfs second was. Daarom is het belangrijk in grote systemen om steeds het timestamp van een handeling in de database te zetten en niet bijvoorbeeld 10/05/08 11:25:00.
Datum, tijd en andere info uit een timestamp halen
//syntax: date(PATTERN, TIMESTAMP);
$var = date("d-m-y", 1139429594);
print $var;
Door deze code zal de dag, de maand en het jaar van dat timestamp in een variabel $var worden gestopt en vervolgens op het scherm getoond.
- d zal de dag van de maand tonen met twee cijfers (01 tot 31)
- D (hoofdletter) zal de dag van de week weergeven (Mon tot Sun)
- j dag van de maand (1 tot 31)
- l (kleine L) toont de volledige dag van de week (Monday tot Sunday)
- F de maand (Januari tot December)
- m de maand (01 tot 12)
- M de maand (Jan tot Dec)
- Y het jaar (2008)
- y het jaar (08)
- g het uur (1 tot 12)
- G het uur (0 tot 23)
- h het uur met twee cijfers (01 tot 12)
- H het uur met twee cijfers (00 tot 23)
- i minuten met twee cijfers (00 tot 59)
- s seconden met twee cijfers (00 tot 59)
Het timestamp ophalen van een datum in het verleden
Via de functie mktime() kan je gemakkelijk een timestamp te weten komen van een datum in het verleden.
//syntax mktime(UUR, MINUUT, SECOND, MAAND, DAG, JAAR
$timestamp = mktime(12, 00, 00, 01, 25, 1992); //696340800
$dag = date("l", $timestamp);
print '25 januari 1992 was een '.$dag;//Saturday
Er zijn nog geen reacties op dit artikel.
Om op dit artikel te reageren dient u een account aan te maken.



Artikel details
Share

Soortgelijke artikels