PHP's datum() functie is een van de krachtigste en meest gebruikte tools voor het verwerken van datum- en tijdopmaak in webapplicaties. Of je nu een blog, e-commerce platform of dashboard bouwt, het weergeven van datums op een gebruiksvriendelijke manier is essentieel. In deze uitgebreide gids,
duiken we diep in de datum() functie, bekijk de syntaxis, formaatspecificaties, praktijkvoorbeelden, best practices en veelvoorkomende valkuilen.
Wat is de PHP Date() functie?
De datum() functie in PHP formatteert een lokale datum en tijd volgens een opgegeven format string. De functie retourneert een tekenreeks die de geformatteerde datum/tijd weergeeft.
Basissyntaxis
php
string datum(string $format, ?int $timestamp = null)
$formaat: Een tekenreeks met formaatspecificaties (bijv,Y,m,d).$ijdstempel: Optioneel Unix tijdstempel. Indien weggelaten, wordt de huidige tijd gebruikt.
Opmerking: Vanaf PHP 8.0+ is de tweede parameter nullable (int).
Belangrijkste PHP datumformaat specificaties
Hier is een snelle referentietabel van de meest gebruikte formaattekens:
| Specificeerder | Beschrijving | Voorbeeld output |
Y | 4-cijferig jaar | 2026 |
y | 2-cijferig jaar | 25 |
m | Maand (01-12) | 11 |
n | Maand zonder voorloopnullen (1-12) | 11 |
F | Volledige maandnaam | November |
M | Korte maandnaam (3 letters) | Nov |
d | Dag van de maand met voorloopnullen | 17 |
j | Dag zonder voorloopnullen | 17 |
l | Volledige weekdagnaam | Maandag |
D | Korte weekdag (3 letters) | Mon |
H | 24-uurs indeling (00-23) | 11 |
h | 12-uurs indeling (01-12) | 11 |
i | Minuten met voorloopnullen | 37 |
s | Seconden met voorloopnullen | 45 |
A | Hoofdletters AM/PM | AM |
a | Kleine letters am/pm | ben |
T | Tijdzone-afkorting | IST |
c | ISO 8601 formaat | 2026-11-17T11:37:45+05:30 |
r | RFC 2822-formaat | ma, 17 nov 2026 11:37:45 +0530 |
Basisvoorbeelden van PHP Datum Formatteren
1. Huidige datum en tijd
php
echo datum(‘Y-m-d H:i:s’);
// Uitvoer: 2026-11-17 11:37:452. Menselijk leesbaar formaat
php
echo datum(‘l, F j, Y g:i A’);
// Uitvoer: Maandag 17 november 2026 om 11:37 AMGebruik \ om tekens als op zodat ze letterlijk verschijnen.
3. Korte datum
php
echo datum('d/m/j');
// Uitgang: 17/11/20264. Alleen tijd
php
echo datum('h:i A');
// Uitvoer: 11:37 AMWerken met tijdstempels
Je kunt elke Unix-tijdstempel formatteren:
php
$timestamp = strtotime('2026-01-01 00:00:00');
echo datum('J-m-d', $ijdstempel);
// Uitgang: 2026-01-01Combineer met strtotime()
php
echo datum('F j, Y', strtotime('+7 dagen'));
// Output: 24 november 2026Omgaan met tijdzones (cruciaal!)
Standaard, datum() gebruikt de standaard tijdzone van de server. Stel deze altijd expliciet in:
php
datum_standaard_tijdzone_instelling('Azië/Kolkata'); // IST
echo datum('J-m-d H:i:s T');
// Uitvoer: 2026-11-17 11:37:45 ISTBeste werkwijze: Stel de tijdzone in bovenaan het configuratiebestand of toegangspunt.
Praktijkvoorbeelden voor PHP datumformaat
1.Blog Post Data
php
$post_date = '2026-11-10 14:30:00';
echo date('M j, Y', strtotime($post_date));
// Uitvoer: 10 nov 20262. Relatieve tijd (“2 uur geleden”)
php
functie timeAgo($imestamp) {
$diff = time() - $timestamp;
Als ($diff < 60) retourneer "$diff seconden geleden";
Als ($diff < 3600) return round($diff/60) . " minuten geleden";
Als ($diff < 86400) return round($diff/3600) . " uur geleden";
return date('M j', $timestamp);
}
echo timeAgo(strtotime('2026-11-17 09:00:00'));
// Uitvoer: 2 uur geleden3. Aftellen evenement
php
$event = strtotime('2026-12-25 00:00:00');
$now = tijd();
1TP4days_left = floor(($event - $now) / 86400);
echo "Kerstmis is over $days_left dagen!";
// Output: Kerstmis is over 38 dagen!Veelvoorkomende valkuilen en hoe ze te vermijden
| Uitgave | Oplossing |
| Verkeerde tijdzone | Gebruik altijd datum_standaard_tijdzone_set() |
Y2K-achtige bugs met y | Geef de voorkeur aan Y voor heel jaar |
| Verwarring door voorloopnullen | Gebruik j in plaats van d als je geen nullen wilt |
| Locale problemen | Gebruik toonaard instellen() + strftime() voor gelokaliseerde namen |
| Afgeschreven in de toekomst? | Nee! Maar overweeg DatumTijd voor complexe operaties |
Pro tips
1. Gebruik DatumTijd voor geavanceerde behoeften
2. php
$dt = nieuwe DateTime('nu', nieuwe DateTimeZone('Azië/Kolkata'));
3. echo $dt->format('J-m-d H:i:s');
4. Cache Opgemaakte Datums
Vermijd bellen datum() in lussen voor prestaties.
5. Ingangstijdstempels valideren
6. php
if ($timestamp === false) {
$timestamp = time();
7. }
8. Internationalisatie
9. php
setlocale(LC_TIME, 'hi_IN');
10. echo strftime('%e %B %Y'); // Datum Hindi
Bonus: One-Liner Datumformaten
php// ISOdatum('c');
// VS-formaatdatum('m/d/j h:i A');
// EU-formaatdatum('d.m.Y H:i');
Conclusie
beheersen datum() gaat over het begrijpen van de formaatspecificaties, verwerking van tijdzonesen integratie met strtotime(). Terwijl DatumTijd biedt meer kracht voor complexe scenario's, datum() blijft licht, snel en perfect voor 90% verschillende gebruikssituaties. Carmatec, een toonaangevende PHP ontwikkelingsbedrijf, gebruikt om schone, efficiënte en betrouwbare functionaliteit op basis van tijd te leveren.