datum als text weergeven

Door , 14 jaar geleden, 3.222x bekeken

geeft bijv: Woensdag 24 December 2008, 3 minuten voor 8 's ochtends

ik weet dat het korter kan maar ik vond het gewoon leuk om te maken omdat ik op die manier php een beetje begin te begrijpen, alle reacties zijn welkom:)

Gesponsorde koppelingen

PHP script bestanden

  1. datum-als-text-weergeven

 

Er zijn 18 reacties op 'Datum als text weergeven'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
RvW Of toch niet
RvW Of toch niet
14 jaar geleden
 
0 +1 -0 -1
Date class?
Erwin Geen
Erwin Geen
14 jaar geleden
 
0 +1 -0 -1
Misschien kan je ook nog doen dat je een tijd meegeeft.
Dus niet de tijd die het nu is.
RvW Of toch niet
RvW Of toch niet
14 jaar geleden
 
0 +1 -0 -1
@warchief....

wat mag dat voor zin hebben?!
Eddy E
Eddy E
14 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<p>De volgende trekking is op: ' . datetext('1-1-2009 13:15') . '.</p>';
?>


Zal moeten geven:

De volgende trekking is op: Donderdag 1 januari 2009 om kwart over een..

Anders zeg je alleen maar de huidige tijd... en is is vaak niet al te belangrijk.



Tevens om Donderdag 1 januari 2009 te krijgen kan je gewoon dit doen:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
return strftime("%d-%m-%Y", strtotime($datum));
?>


Met een set_locale() geeft dat ook gewoon de nederlandse namen.
Dat scheelt jou veel werk (met die arrays).
Dus: bij jouw regel 3 t/m 20 kan je vervangen door bovenstaande.
Robert Deiman
Robert Deiman
14 jaar geleden
 
0 +1 -0 -1
@rvw
Heel vaak geef je niet de datum van vandaag weer, maar de datum waarop iets heeft plaatsgevonden of plaats gaat vinden.

@martin
Best leuk gedaan, maar: Waarom gebruik je de datumnotatie in het engels, en zet je die om naar het Nederlands, met de dagnummers (is ook gewoon mogelijk met de date() functie van php) kan je het scriptje nog korter houden.

Wat je wel kan doen (Wat ook meteen deze opbouw vergoed) is En/ Nl als taalkeuze mee laten geven. Je gebruikt nu een functie, maar zonder parameters. Er is niets dat je aan kan passen, ik denk ook dat dat de reden is dat Warchief zegt dat het handig kan zijn een datum mee te geven.

edit:
Eddy

set_locale wil (volgens mij) niet altijd, zie ook de warning op php.net. (het werkt wel, maar niet zoals je het zou willen)

Quote:
Warning

The locale information is maintained per process, not per thread. If you are running PHP on a multithreaded server api like IIS or Apache on Windows you may experience sudden changes of locale settings while a script is running although the script itself never called setlocale() itself. This happens due to other scripts running in different threads of the same process at the same time changing the processwide locale using setlocale().
Erwin Geen
Erwin Geen
14 jaar geleden
 
0 +1 -0 -1
@Eddy
13:15 != "kwart over 3"
Eddy E
Eddy E
14 jaar geleden
 
0 +1 -0 -1
Ja, ik zag het. Zie ook tijdstip van posten :D


14 jaar geleden
 
0 +1 -0 -1
ik heb het even aangepast... maar waarom deze functie gebruiken om een tijd weer te geven, zijn jullei te lui om te typen

lees ff de toelichtin, nu kan je weleen datum invoeren die die weer moet geven
Douwe
Douwe
14 jaar geleden
 
0 +1 -0 -1
Quote:
echo tijdtext(1, 1, 0,maandag,28,december,1993,12,54,a);
geeft:
maandag 28 december 1993 om 6 minuten voor 13 's avonds

Ik denk dat dat niet gaat werken, aanhalingstekens enzo. En '6 minuten voor 13 's avonds' is toch gewoon '6 minuten voor 1 's nachts'?
En in plaats van 1 en 0 kun je ook/beter true en false gebruiken.
Quote:
echo tijdtext(1, 0, 0,maandag,28,december,1993,12,54,a);
geeft:
maandag 28 december 1993

Als ie alleen de datum geeft, waarom moeten we dan ook nog de tijd etc meegeven? Hiervoor kun je overigens beter gewoon date() gebruiken.
Quote:
echo tijdtext(1, 1, 1,0,0,0,0,0,0,0);
geeft:
de huidige tijd en datum

altijd alle variabelen meegeven ook al zijn ze 0

Kun je niet gewoon al die variablen 0 als standaardwaarde geven?


14 jaar geleden
 
0 +1 -0 -1
echo tijdtext(1, 0, 0,maandag,28,december,1993,12,54,a);
geeft:
maandag 28 december 1993

war door copy/ paste, zo0nder aanhalingstekens kan, maar hoe geef je iets een standaardwaarde?
Douwe
Douwe
14 jaar geleden
 
0 +1 -0 -1
Als je maandag en december en a zonder aanhalingstekens doet, ziet PHP het als constante, niet als string, wat het is en moet zijn...
function($sWaarde = "standaardwaarde")
zo.
GaMer B
GaMer B
14 jaar geleden
 
0 +1 -0 -1
function tijdtext($datum = 0, $tijd = 0, $nu = 0, $getdag = 0, $getdagnr = 0, $getmaand = 0, $getjaar = 0, $getuur = 0, $getminuten = 0, $getdagdeel = 0){

Zo doe je standaardwaardes.
GaMer B
GaMer B
14 jaar geleden
 
0 +1 -0 -1
function tijdtext($datum = 0, $tijd = 0, $nu = 0, $getdag = 0, $getdagnr = 0, $getmaand = 0, $getjaar = 0, $getuur = 0, $getminuten = 0, $getdagdeel = 0){

Zo doe je standaardwaardes.
Douwe
Douwe
14 jaar geleden
 
0 +1 -0 -1
Dat ja :)
Robert Deiman
Robert Deiman
14 jaar geleden
 
0 +1 -0 -1
echo tijdtext(1, 0, 0,maandag,28,december,1993,12,54,a);

Waarom de dag (als tekst) meegeven, en ook de maand? Dat is volledige onzin. Aan de hand van het maandnummer (en ook aan de hand van de datum) is prima te bepalen op welke "dag van de week" iets valt. En aan de hand daarvan kan je ook de string met daarin de hele tekst voor die bepaalde datum laten genereren.


14 jaar geleden
 
0 +1 -0 -1
maar waarom moet je dat gebruiken eigenlijk, je kan het toch ook op je site typen?


14 jaar geleden
 
0 +1 -0 -1
even weer aangepast, prettige kerst en een gelukkig nieuw jaar
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Dennis Mertens
Dennis Mertens
14 jaar geleden
 
0 +1 -0 -1
Misschien handig, maar daar houdt het mee op, want ik vind het slordig.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. datum-als-text-weergeven

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.