PHP -datum en tijd
De PHP date()
-functie wordt gebruikt om een datum en/of een tijd op te maken.
De PHP Date()-functie
De PHP date()
-functie formatteert een tijdstempel naar een beter leesbare datum en tijd.
Syntaxis
date(format,timestamp)
Parameter | Description |
---|---|
format | Required. Specifies the format of the timestamp |
timestamp | Optional. Specifies a timestamp. Default is the current date and time |
Een tijdstempel is een reeks tekens die de datum en/of tijd aangeeft waarop een bepaalde gebeurtenis heeft plaatsgevonden.
Krijg een datum
De vereiste formaatparameter van de functie date() geeft aan hoe de datum (of tijd) moet worden opgemaakt.
Hier zijn enkele tekens die vaak worden gebruikt voor datums:
- d - Staat voor de dag van de maand (01 tot 31)
- m - Staat voor een maand (01 tot 12)
- Y - Staat voor een jaar (in vier cijfers)
- l (kleine letter 'L') - Staat voor de dag van de week
Andere tekens, zoals "/", "." of "-" kunnen ook tussen de tekens worden ingevoegd om extra opmaak toe te voegen.
In het onderstaande voorbeeld wordt de datum van vandaag op drie verschillende manieren opgemaakt:
Voorbeeld
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
PHP-tip - Automatisch auteursrechtjaar
Gebruik de date()
functie om het copyrightjaar op uw website automatisch bij te werken:
Voorbeeld
© 2010-<?php echo date("Y");?>
Krijg een tijd
Hier zijn enkele tekens die vaak worden gebruikt voor tijden:
- H - 24-uurs formaat van een uur (00 tot 23)
- h - 12-uurs formaat van een uur met voorloopnullen (01 tot 12)
- i - Minuten met voorloopnullen (00 tot 59)
- s - Seconden met voorloopnullen (00 tot 59)
- a - Ante meridiem in kleine letters en Post meridiem (am of pm)
Het onderstaande voorbeeld geeft de huidige tijd weer in het opgegeven formaat:
Voorbeeld
<?php
echo "The time is " . date("h:i:sa");
?>
Merk op dat de PHP date() functie de huidige datum/tijd van de server teruggeeft!
Krijg je tijdzone
Als de tijd die u terugkreeg van de code niet correct is, komt dat waarschijnlijk omdat uw server zich in een ander land bevindt of is ingesteld voor een andere tijdzone.
Dus als je de tijd nodig hebt om correct te zijn volgens een specifieke locatie, kun je de tijdzone instellen die je wilt gebruiken.
In het onderstaande voorbeeld wordt de tijdzone ingesteld op "America/New_York", en voert vervolgens de huidige tijd uit in het opgegeven formaat:
Voorbeeld
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Maak een datum met mktime()
De optionele parameter timestamp in de functie date() specificeert een timestamp. Indien weggelaten, worden de huidige datum en tijd gebruikt (zoals in de bovenstaande voorbeelden).
De PHP- mktime()
functie retourneert de Unix-tijdstempel voor een datum. Het Unix-tijdstempel bevat het aantal seconden tussen het Unix-tijdperk (1 januari 1970 00:00:00 GMT) en de opgegeven tijd.
Syntaxis
mktime(hour, minute, second, month, day, year)
In onderstaand voorbeeld wordt een datum en tijd gemaakt met de
date()
functie uit een aantal parameters in de
mktime()
functie:
Voorbeeld
<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Maak een datum van een string met strtotime()
De PHP strtotime()
-functie wordt gebruikt om een door mensen leesbare datumstring om te zetten in een Unix-tijdstempel (het aantal seconden sinds 1 januari 1970 00:00:00 GMT).
Syntaxis
strtotime(time, now)
Het onderstaande voorbeeld maakt een datum en tijd van de strtotime()
functie:
Voorbeeld
<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
PHP is heel slim in het converteren van een string naar een datum, dus je kunt verschillende waarden invoeren:
Voorbeeld
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
Het strtotime()
is echter niet perfect, dus vergeet niet om de snaren die je erin stopt te controleren.
Meer datumvoorbeelden
In het onderstaande voorbeeld worden de datums voor de volgende zes zaterdagen weergegeven:
Voorbeeld
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
Het onderstaande voorbeeld geeft het aantal dagen tot 4 juli weer:
Voorbeeld
<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
Volledige PHP-datumreferentie
Voor een volledige referentie van alle datumfuncties, ga naar onze volledige PHP Date Reference .
De referentie bevat een korte beschrijving en gebruiksvoorbeelden voor elke functie!