Adverteren?

Je bent hier: Techzine » Tutorials » Coding » Datum en tijd in PHP

Datum en tijd in PHP

Maandag 29 december 2003 14:05 door Coen van Eenbergen
Views 35316 Reacties (23) (1 onzichtbaar)

Function date()

De datum en tijd bepalen met php doe je met de date() functie. Ik zal straks uitleggen hoe je deze functie gebruikt. PHP maakt bij de datum en tijd gebruik van letters. Een overzicht van de meest gebruikte:

a - am of pm (in kleine letters).
A - AM of PM (in hoofdletters).
d - Dag van de maand met voorloopnul.
D - Dag v/d week met 3 drie letterige afkorting in het engels.
F - Naam van de maand in het engels
h - Uur van 01 - 12, met voorloopnul.
H - Uur van 00 - 23, met voorloopnul.
g - Uur van 1 - 12, zonder voorloopnul.
G - Uur van 0 - 23, zonder voorloopnul.
i - Minuten van 00-59, zonder voorloopnul.
j - Dag van de maand van 1 - 31, zonder voorloopnul.
l - (kleine letter L) Weekdag (Engels), Mondag tot en met Friday.
L - Booleaanse schrikkeljaarindicator. 0 is geen schrikkeljaar, 1 is een schrikkeljaar.
m - Maand van 01 - 12, met voorloopnul.
n - Maand van 1 - 12, zonder voorloopnul.
M - Maand (Engels), drielettertige afkorting, Jan. tot en met Dec.
s - Seconden 00 - 59.
S - Engels achtervoegsel, twee letters, zoals th en nd. Het getal 2 wordt dan 2nd.
t - Aantal dagen in de gegeven maand.
U - Aantal dagen sinds de basisnaam, 1 januari 1970 voor Unix-systemen.
w - Weekdag, van 0 (zondag) to en met 6 (zaterdag).
Y - Jaartal in vier letters, bijvoorbeeld 1999.
y - Jaartal in twee cijfers, bijvoorbeeld 99.
z - Dag van het jaar, van 0 - 365

De tijd in php doen we zo:
PHP Code
1
2
3
4
5
6
 
<?php
$tijd = date("H:i:s");
echo "$tijd";
?>
 


Je krijgt de tijd dan te zien in Uren:minuten:seconden.

De datum in het engels doen we zo:
PHP Code
1
2
3
4
5
6
 
<?php
$datum = date("l, j F Y");
echo "Vandaag is het $datum";
?>
 

Nu krijgen we bijvoorbeeld dit te zien: Vandaag is het Tuesday, 23 December 2003

We willen natuurlijk ook de datum in het nederlands kunnen bepalen, dit staat wat netter voor je eigen site.
Ik ga dat doen met een array. Meer info over een array kun je vinden op http://nl3.php.net/array.
PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php
$datum = date("j F Y");
$dagvanweek = date("l");
$arraydag = array(
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
);
$dagvanweek = $arraydag[date("w")];
$arraymaand = array(
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
);
$datum = date("j ") . $arraymaand 
[date("n") - 1] . date(" Y"); 
echo "Het is vandaag $dagvanweek, $datum";   
?>
 

Nu krijgen we bijvoorbeeld Dinsdag, 23 December 2003 te zien.

Dit was mijn tutorial. Ik hoop dat jullie er wat aan hebben en zo weer iets geleerd hebt over de datum en tijd in php.

Er zijn 23 reacties

Avatar
0
Er was nog een bug in de BBCode parser van de frontpage. Hierdoor was de code niet duidelijk te lezen door alle smilies. Deze bug is nu gefixt.
Avatar
Ik zal nog eens wat tuts maken en insturen ;)
Avatar
offlineGood Fella, ICT-professional, 29 Dec 2003, 16:34
1
mooie tut Mark. nu is het alleen jammer dat mijn host geen php ondersteunt maar toch :p
Avatar
www.php.net

daar staat vrijwel precies hetzelfde
Avatar

Quote:

Op 12-29-03 16:34 schreef Good Fella:
mooie tut Mark. nu is het alleen jammer dat mijn host geen php ondersteunt maar toch :p
ik heb ook een host zonder php maar ik gebruik voor de php bestanden altijd gewoon lycos
Geen Avatar
1
sinds jaren weer een coding tut! ;)


/edit: zie http://members.lycos.nl/interstart/ voor een voorbeeld!
aukecomps heeft dit bericht gewijzigd op 31-12-2003 om 17:01.
Avatar
En er komen er meer ;) Heb er nog eentje ingestuurd en ben er nog aan t schrijven.
Geen Avatar
Leuke turtorial. Maar is het niet mogelijk om een klok te maken, waarbij de seconde teller mee tikt in de browser. Je moet nu op vernieuwen drukken om de tijd in seconde te kunnen zien.
Avatar
Nee met php niet. Want php voert alleen de actie uit als de pagina aan het laden is, dus ook als je vernieuwd. Om iets te doen wat jij wil, moet je javascript oid gebruiken.
Avatar
Mooi stukkie code, maar wellicht wat omslachtig?
Met:

[php]
&lt;?php
setlocale (LC_TIME, &quot;nl_NL&quot;);
print (strftime (&quot;%A %e %B %Y&quot;));
?&gt;
[/php]

krijg je:
vrijdag 2 januari 2004

Edit: Poging om me code niet te laten weergeven als blije smilies.
Edit 2: Poging best wel mislukt. Dan maar wat spaties erin. Dus let op, tussen de &quot; en ) hoort geen spatie....
lohost heeft dit bericht gewijzigd op 10-01-2004 om 13:19.
Avatar
De datum in het engels doen we zo:

[php]
&lt;?php
$datum = date(&quot;l, j F Y&quot;);
echo &quot;Vandaag is het $datum&quot;;
?&gt;
[/php]



Nu krijgen we bijvoorbeeld dit te zien: Vandaag is het Tuesday, 23 December 2003


logisch, Engels en Nederlands door elkaar :)
Flapster heeft dit bericht gewijzigd op 07-01-2004 om 17:33.
Geen Avatar
Nice tutorial Markjuh ! Werkt Prima :)
Avatar
mijn servertje neemt ook geen php aan
Geen Avatar
Haal variabelen uit de quotes:
PHP Code
1
2
3
4
5
 
&lt;?php
echo &quot;De datum is &quot;.$datum.&quot;Mooi!&quot;;
?&gt;
 
Meekieboy heeft dit bericht gewijzigd op 14-02-2004 om 07:42.
Geen Avatar
mmm ja... maar als ik dit zo lees: B:{ Kan je ook de datum en de tijd van de server laten zien i.p.v die van de bezoeker? Nu heb je als ik mijn windowstijd op 00:00u zet, dat het scriptje dat lekker overneemt.. ik neem aan dat dat niet de bedoeling is.. :(
Avatar

Quote:

Op 26-06-04 16:16 schreef jacotijssen:
mmm ja... maar als ik dit zo lees: B:{ Kan je ook de datum en de tijd van de server laten zien i.p.v die van de bezoeker? Nu heb je als ik mijn windowstijd op 00:00u zet, dat het scriptje dat lekker overneemt.. ik neem aan dat dat niet de bedoeling is.. :(


het is de datum/tijd van de server hoor ;)
Markjuh heeft dit bericht gewijzigd op 05-08-2004 om 20:02.
Geen Avatar
Als je php gebruikt geeft hij de tijd van de server weer (de echte tijd zeg maar), met javascript geeft hij de tijd van de bezoeker weer. Wil je dit oplossen zal er een combinatie gemaakt moeten worden of met een php functie de secondes elke seconde 1 op laten hogen :)
Geen Avatar
ey ff een vraagje..
hoe krijg ik nou de tijd van morge onder de tijd van vandaag te staan ??
Avatar
Geen Avatar
ik snap hem nog steeds niet.. :(
kan je hier de code neer zetten die ik moet gebruiken ?
Avatar
met date(codes, $timestamp) kun je een datum weergeven die je zelf kiest
zo een timestamp is het aantal seconden vanaf 1970 geloof ik
met
PHP Code
1
mktime(0, 0, 0, 12, 32, 1997)

kun je zo'n timestamp in elkaar zetten
je kunt de huidige timestamp opvragen met
PHP Code
1
time();


als je de funkties een beetje samenvoegd krijg je dus
PHP Code
1
2
3
 
echo date(&quot;M-d-Y&quot;, mktime(date('H'),date('i'),date('s'), date('m'), date('d')-1, date('Y')));
 
joolee heeft dit bericht gewijzigd op 01-05-2005 om 20:25.
Avatar
offlinezeijkhagen, ICT-professional, 5 Okt 2005, 16:08
0
Kun je die codes niet tussen de \'
PHP Code
1
\' en \'
\' tekens zetten? Ik vind het zo namelijk erg lastig te lezen..
Reageer op dit artikel

Gelieve je te houden aan de algemene fatsoensnormen bij het reageren op Techzine. Goede en slechtereacties hebben invloed op je hoeveelheid punten.Tevens zal de redactie actie ondernemen tegen herhaaldelijke slechte reacties.Eventuele fouten in dit artikel kunnen via de article reportgemeld worden.

TZML Toolbar:
kleiner groter resize bold italic underline strike sub sup ul ol quote split url url me
Smilies:
:) :( :o :D ;) :P :p (lol) :@ :\'( ;{ :? :s :9
captcha
Verzenden: