Forum und email

date

(PHP 4, PHP 5)

date — Formatteer een lokale date/time

Beschrijving

string date ( string $format [, int $timestamp ] )

Geeft een geformatteerde string volgens de gegeven format string gebruikmakend van timestamp of the huidige local time als geen timestamp gegeven is.

Note: De geldige reeks van timestamps is normaal van vrijdag 13 Dec 1901 20:45:54 GMT tot dinsdag 19 Jan 2038 03:14:07 GMT. (Dit zijn de tijdstippen die overeenkomen met de minimale en maximale waarden voor een 32-bits signed integer). Windows limiteerd deze reeks tot datums tussen 01-01-1970 en 19-01-2038.
Om een timestamp te genereren uit een string representatie van een datum kun je eventueel strtotime() gebruiken. Bovendien hebben sommige databases functies om hun dataum formaten om te zetten naar timestamps (zoals MySQLs UNIX_TIMESTAMP functie).

De volgende karakters worden herkend in de format string:

  • a - "am" of "pm"
  • A - "AM" of "PM"
  • B - Swatch Internet time
  • d - dag van de maand, 2 cijfers met nullen aan het begin; dus "01" tot "31"
  • D - dag van de week, textueel, 3 letters; dus "Fri"
  • F - maand, textueel, lang; dus "January"
  • g - uur, 12-uur format zonder nullen aan het begin; dus "1" tot "12"
  • G - hour, 24-uur format zonder nullen aan het begin; dus "0" tot "23"
  • h - uur, 12-uur format; dus "01" to "12"
  • H - hour, 24-uur format; dus "00" tot "23"
  • i - minuten; dus "00" tot "59"
  • I (hoofdletter i) - "1" wanneer Daylight Savings Time, anders "0".
  • j - dag van de maand zonder nullen aan het begin; dus "1" tot "31"
  • l (kleine letter 'L') - dag van de week, textueel, lang; dus "Friday"
  • L - boolean voor wanneer het een schrikkeljaar is; dus "0" of "1"
  • m - maand; dus "01" tot "12"
  • M - maand, textueel, 3 letters; dus "Jan"
  • n - maand zonder nul aan het begin; dus "1" tot "12"
  • O - Verschil met Greenwich tijd in uren; bijvoorbeeld "+0200"
  • r - RFC 822 geformatteerde date; dus "Thu, 21 Dec 2000 16:01:07 +0200"
  • s - seconden; dus "00" tot "59"
  • S - Engelse ordinale suffix voor de dag van de maand, textueel, 2 karakters; dus "th", "nd"
  • t - aantal dagen in een gegeven maand; dus "28" tot "31"
  • T - Timezone setting van deze machine; dus "MDT"
  • U - seconden sinds epoch
  • w - dag van de week, numeriek, dus "0" (Zondag) tot "6" (Zaterdag)
  • W - ISO-8601 weeknummer van het jaar, weken beginnend op maandag (toegevoegd in PHP 4.1.0)
  • Y - jaar, 4 cijfers; dus "1999"
  • y - jaar, 2 cijfers; dus "99"
  • z - dag van het jaar; dus "0" tot "365"
  • Z - timezone offset in seconden (dus "-43200" tot "43200"). De offset voor timezones ten westen van UTC is altijd negatief, en voor het oosten van UTC altijd positief.
Niet-herkende karakters in de format string zullen afgedrukt worden zoals ze zijn. De "Z" format zal altijd "0" retourneren wanneer gebruik wordt gemaakt van gmdate().

Example#1 date() voorbeeld

<?php
    
print (date ("l dS of F Y h:i:s A"));
    print (
"1 juli 2000 is op een "date ("l"mktime(000712000)));
?>

Je kunt ervoor zorgen dat een herkend karakter in een format string niet wordt vervangen door het te escapen met een voorgaande backslash. Als het karakter met een backslash al een speciaal teken is, moet je ook de backslash escapen.

Example#2 Escapen van characters in date()

<?php
    
echo date("l \\t\h\e jS"); // toont zoiets als 'Saturday the 8th'
?>

Het is mogelijk om date() en mktime() samen te gebruiken om data in de toekomst of het verleden te vinden.

Example#3 date() en mktime() voorbeeld

<?php
    $tomorrow  
mktime (000date("m"),     date("d") + 1date("Y"));
    
$lastmonth mktime (000date("m") - 1date("d"),     date("Y"));
    
$nextyear  mktime (000date("m"),     date("d"),     date("Y") + 1);
?>

Note: Dit kan betrouwbaarder zijn dan het simpelweg toevoegen of aftrekken van het aantal seconden in een dag of een maand bij een timestamp door de zomer- en wintertijd.

Een paar voorbeelden van date() formatting. Let erop dat je andere karakters moet escapen, omdat degenen die momenteel een speciale betekenis hebben, en andere karakters zullen een betekenis krijgen in toekomstige PHP versies. Wanneer je escapet, zorg ervoor dat je enkele aanhalingstekens gebruikt om ervoor te zorgen dat karakters zoals \n newlines worden.

Example#4 date() Formatting

<?php
    
/* Vandaag is het 10 maart 2001, 17:16:18 */
    
echo date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
    
echo date("m.d.y");                         // 03.10.01
    
echo date("j, n, Y");                       // 10, 3, 2001
    
echo date("Ymd");                           // 20010310
    
echo date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
    
echo date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
    
echo date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
    
echo date('H:m:s \m \i\s\ \m\a\a\n\d');     // 17:03:17 m is maand
    
echo date("H:i:s");                         // 17:16:17
?>

Om data te formatteren in andere talen dan engels, moet je de setlocale() en strftime() functies gebruiken.

Zie ook getlastmod(), gmdate(), mktime(), strftime() en time().