mktime

(PHP 3, PHP 4 >= 4.0.0)

mktime -- Verkrijg UNIX timestamp voor een date

Omschrijving

int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])

Waarschuwing: Let op de vreemde volgorde van argumenten, die verschilt van de volgorde van argumenten in een normale UNIX mktime() call en zich er niet echt voor leent om parameters van rechts naar links weg te laten (zie beneden). Het is een vrij veel voorkomende vergissing om deze waarden door elkaar te gooien in een script.

Retourneert de Unix timestamp overeenkomend met de argumenten die meegegeven zijn. Deze timestamp is een long integer die het aantal seconden bevat tussen de Unix Epoch (January 1 1970) en de gespecificeerde time.

Argumenten kunnen weg worden gelaten in volgorde van rechts naar links. Argumenten die weg worden gelaten op deze manier zullen geset worden naar de huidige waarde volgens de local date en time.

Is_dst kan naar 1 gezet worden als de tijd tijdens daylight savings time is, 0 wanneer dat niet zo is, of -1 (default) als het niet bekend is of de tijd zich in daylight savings time bevindt.

Opmerking: Is_dst was toegevoegd in 3.0.10.

mktime() is bruikbaar om met datums te rekenen of datums te valideren, omdat het automatisch de juiste waarde voor out-of-range input calculeert. Bijvoorbeeld, elk van de volgende regels produceert de string "Jan-01-1998".

Voorbeeld 1. mktime() voorbeeld


echo date ("M-d-Y", mktime (0,0,0,12,32,1997));
echo date ("M-d-Y", mktime (0,0,0,13,1,1997));
echo date ("M-d-Y", mktime (0,0,0,1,1,1998));
echo date ("M-d-Y", mktime (0,0,0,1,1,98));
      
Year mag zowel een twee als vier cijferige waarde zijn, met waardes tussen 0-69 mapping naar 2000-2069 en 70-99 naar 1970-1999 (op systemen waar time_t een 32bit signed integer is, zoals gewoonlijk tegenwoordig, is de correcte range voor year ergens tussen 1902 en 2037).

De laatste dag van elke willekeurige maand kan uitgedrukt worden als de "0" dag van de volgende maand, niet de -1 dag. Beide van onderstaande voorbeelden produceert de string "The last day in Feb 2000 is: 29".

Voorbeeld 2. Laatste dag van volgende maand


$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Last day in Feb 2000 is: %d", $lastday);
     
$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("Last day in Feb 2000 is: %d", $lastday);
      

Date waarbij year, month en day gelijk zijn aan nul wordt als ongeldig beschouwd.

Zie ook date() en time().