login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > PHP


Gegevens:
Geschreven door:
BigTeddy
Moeilijkheidsgraad:
Gemakkelijk
Hits:
117284
Punten:
Aantal punten:
 (4)
Aantal stemmen:
18
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (8)
 

Tutorial:

Datum & Tijd gebruik

1. Datum & Tijd functie's
2. Datum & Tijd maken


1. Datum & Tijd Functie's

Om de tijd uit te drukken kan je verschillende functies gebruiken.
Hieronder staat een overzichtje van de verschillende tijd functies.

Funtie Omschrijving
date() Dit geeft de serverdatum weer als een timestamp.
time() Geeft het aantal verstreken seconden weer sinds epoch (1 januari 1970)
mktime() Dit maakt een timestamp van een datum. mktime(uur, minuten, seconden, maand, dag, jaar);


checkdate() Dit controleert of een opgegeven datum wel een geldige datum is. 
gmdate() Vormt een GMT-datum om in een timestamp.
gmmktime() Maakt van een timestamp een GMT-datum.
microtime() Geeft de unix-timestamp weer met microseconden.


Voorbeeld: time()

<?php
  echo time();
?>



Voorbeeld: date()

<?php
  
echo date("d-m-Y H:i:s", time());
?>


Je ziet dus dat je de functie date() kunt aanvullen met een 2de parameter (een timestamp).
De eerste parameter bestaat net zoals bij het vormen van een datum de letter (verklaring kijk punt 2).
In de eerste schrijf je wat je uit de stamp wilt halen, in bovenstaande geval dus de dag-maand-jaar  uur-minuten-jaar.
Natuurlijk kan je ook bv enkel maar het uur en de minuten eruit halen of nog meer, maar dan moet je gewoon de letters aanpassen die in het eerste deel staan.

Voorbeeld: mktime()

<?php
  $mktime
= mktime(
20, 10, 5, 8, 31, 1986);
  echo mktime(20, 10, 5, 8, 31, 1986);
  echo date("d-m-Y H:i:s", $mktime);
?>

"; echo date("d-m-Y H:i:s", $mktime); ?>


De functie mhtime() kan je ook gebruiken om de timestamp van een datum in het verleden of de toekomst te bepalen.

Voorbeeld: mktime() + 30 uur en 60 dagen 

<?php
  $mktime = mktime(50, 10, 5, 8, 91, 1986);
  echo mktime(50, 10, 5, 8, 91, 1986);
  echo date("d-m-Y H:i:s", $mktime);
?>

Na staat er dus eigenlijk dat het de 91ste dag van augustus in 1986 is om 50 uur 10 minuten en 5 seconden.
Natuurlijk kan dat helemaal niet zijn, maar dankzij het gebruik van de functie, wordt deze datum automatisch omgezet naar de juiste datum.
"; echo date("d-m-Y H:i:s", $mktime); ?>


Voorbeeld: checkdate()

Deze functie kan je gebruiken om een opgegeven datum te controleren op de juistheid ervan. (De functie var_dump() wordt in het voorbeeld enkel gebruikt omdat deze de bool waarde weergeeft.)

Hierbij wordt gecontroleerd:
- Of de maand wel tussen 1 en 12 ligt
- Of de dag wel in de maand voor komt
- Of het jaar wel tussen het jaar 1 en 32767 ligt

<?php
  
echo var_dump(checkdate(12, 20, 2003));
  echo
var_dump(checkdate(12, 54, 2003));
  echo
var_dump(checkdate(14, 20, 2003));
?>

bool(true)
bool(false)
bool(false)

 top

2. Datum & Tijd maken

Een datum kan gemaakt worden door volgende letters te combineren.

a Engelse uur aanduiding am of pm (kleine letters).
A Engelse uur aanduiding AM of PM (grote letters).
d De x-ste dag van de maand met een nul voorop. (01, 02, 03, 04, 05, 06, 07, 08, 09, 10, ...) 
D De dag van de week met een 3 leterige afkorting in het Engels. (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
F De naam van de maand in het Engels (January, February, August, ....)
h Het uur met een nul voorop, in het 12-urige stelsel. (01-12)
H Het uur met een nul voorop, in het 24-urige stelsel. (00 - 23)
g Het uur in het 12-urige stelsel. (1-12)
G Het uur in het 24-urige stelsel. (0 - 23)
i Het aantal minuten, gaande van 00-59
j De x-ste dag van de maand. (1-31)
l De dag van de werkweek in het Engels. (Monday - Friday)
L Controle of het een schrikkeljaar is. 0 => geen schrikkeljaar & 1 => schrikkeljaar
m Rang van de maand met een nul voorop. (01 - 12) 
n Rang van de maand. (1 - 12) 
M Naam van de maand in het Engels, afgekort in 3 letters (Jan.=> Dec.)
s Het aantal seconden. (00 - 59)
S De dag van de maand, op de Engelstalige wijze. (1ste, 2nd, 3rd, 4th, ....)
t Het aantal dagen in de maand.
U Het aantal dagen die zijn verstreken na de basisnaam (1-1-1970 voor Unix)
w De dag van de week, numeriek weergegeven. 0 (zondag) - 6 (zaterdag).
Y Het huidige jaar, weergegeven in 4 numerieke cijfers (2004)
y Het huidige jaar, weergegeven in 2 numerieke cijfers (04)
z De # dag van het jaar (1 - 365 of 366)
Z De tijdzone verschil in seconden, gebruikmakend van de gmdate() zal het altijd 0 weergeven.


Voorbeeld: Gewone Datum

<?php
  $datum
= date("j F Y");
  
$tijd = date("H:i:s");
  
$dag_vd_week = date("l");
  echo
"Datum: ".$datum."<br>";
  echo
"Tijd: ".$tijd."<br>";
  echo
"Het is vandaag: ".$dag_vd_week."<br>";
?>

"; echo "Tijd: ".$tijd."
"; echo "Het is vandaag: ".$dag_vd_week."
"; ?>


Voorbeeld: Nederlandse Datum

<?
  $tijd
= date("H:i:s");
  
$dag_vd_week = date("w");
  
$maand_vh_jaar = date("n")-1;
  
$dedag = date("j");
  
$jaar = date("Y");
  
$uur = explode(":", $tijd);

  
$dagen = array('zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag');
  
$maanden = array('januarie', 'februarie', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');
  
$dag = $dagen[$dag_vd_week];
  
$maand = $maanden[$maand_vh_jaar];

  echo
"Het is vandaag ".$dag." ".$dedag." ".$maand." in het jaar ".$jaar.".";
  echo
"Op dit moment is het ".$uur[0]." uur ".$uur[1]." minuten en ".$uur[2]." second(en).";
?>

"; echo "Op dit moment is het ".$uur[0]." uur ".$uur[1]." minuten en ".$uur[2]." second(en)."; ?>

 top

« Vorige tutorial : MultiViews met PHP Volgende tutorial : Maak een login-script. »

© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.012s