datums

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hoi,

Misschien niet helemaal compleet....


Bij echo $birthdate; wordt
1923-01-191914-09-051910-10-121979-01-091922-05-131925-01-031940-01-011973-12-311945-12-291992-01-01
geprint

Leesbaarder gemaakt
1923-01-19 1914-09-05 1910-10-12 1979-01-09 1922-05-13 1925-01-03 1940-01-01 1973-12-31 1945-12-29 1992-01-01
Dit zijn geboortedatums van leden in een database >
PHP:
$birthdate = app_Profile::getFieldValues($profileId, 'birthdate');

Nou had ik graag volgende ($vandaag wordt straks de huidige dag,nu ff als test)

er komt dus 1923-01-19 in de datums maar krijg als uitkomst toch een nee, dus zal ik de datums moeten uitsplitsen?
PHP:
$vandaag = 1923-01-19;
$birthdate = app_Profile::getFieldValues($profileId, 'birthdate');
echo $birthdate;
if  ($birthdate==$vandaag) {
echo  ja;
}
else {echo nee;
}
dus vandaag is het 27-01-2014
komt die geboortedatum(s) voor > echo ja, anders nee
 
Laatst bewerkt door een moderator:
Gebruik maken van de DateTime klasse zal al een stuk helpen ;)

PHP:
$vandaag = new \DateTime();
$birthdate = \DateTime::createFromFormat('Y-m-d', app_Profile::getFieldValues($profileId, 'birthdate'));

Vervolgens iets met DateTime::format() en een vergelijking en je bent klaar.
 
Bedankt, maar ik krijg het nog niet goed


PHP:
$birthdate = app_Profile::getFieldValues($profileId, 'birthdate'); //.'----';


$date = new DateTime('2014-01-28');

if  ($birthdate==$date) {
echo $birthdate;
}
 
Laatst bewerkt door een moderator:
Ik mis ook de code die ik gegeven heb :rolleyes:

PHP:
$date = new \DateTime();
Dit is een DateTime object met de datum en tijd van het moment van pagina opvragen.

Gebruik je van dat object de methode "format" dan kun je er een leesbaar formaat uit krijgen.
PHP:
$date = new \DateTime();
echo $date->format('Y-m-d');
// Resultaat: 2014-01-28
echo $date->format('Ym');
// Resultaat: 201401
 
Ik heb nu

PHP:
$birthdate = app_Profile::getFieldValues($profileId, 'birthdate');
$date = new \DateTime();


if  ($birthdate==$date) {
echo  ja;
}
else {echo nee;
}

en krijg 10x keer een Nee
 
Je bent nu een object ($date) aan het vergelijken met een string ($birthdate).

Daarnaast is de string een volledige datum, dat wordt lastig vergelijken met de huidige datum.
Je hebt immers alleen de dag en maand nodig voor je vergelijking.

Dat is waar de "format" methode om de hoek komt kijken.
PHP:
// DateTime object van vandaag
$vandaag = new \DateTime();
// DateTime object maken van de waarde.
$birthdate = \DateTime::createFromFormat('Y-m-d', app_Profile::getFieldValues($profileId, 'birthdate'));

if( ) {
    echo 'Jarig';
} else {
    echo 'Niet jarig';
}
Je moet dus alleen de vergelijking nog maken, daarvoor moet je iets met de methode "format" doen van beide objecten.
Hoe kun je die methode gebruiken om de dag en de maand te krijgen?

Ik kan alles wel voorkauwen maar de bedoeling is dat je het zelf ook gaat begrijpen ;)
 
@Ik kan alles wel voorkauwen maar de bedoeling is dat je het zelf ook gaat begrijpen ..klopt...maar ik zie het niet :confused:
 
Je moet dus alleen de vergelijking nog maken, daarvoor moet je iets met de methode "format" doen van beide objecten.
Hoe kun je die methode gebruiken om de dag en de maand te krijgen?

Probeer eerst eens antwoord op die vraag te geven. Deze informatie staat in de link die ik in mijn eerste bericht heb geplaatst.
 
Beste Tha Devil

Hoop dat je het wilt voorkauwen, kom niet verder helaas( php blondje)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan