Goede morgen, even vraagje onder die gene die me kan helpen;

Ik heb een vaiabele waar een datum veld aan gekoppeld is bv er wordt ingevoerd 22-03-2014, graag zou ik willen dat het zo bij me binnen komt "Zaterdag 22 maart 2014"

Hoe kan ik deze variabele uit elkaar kan trekken tot dit!??

Groet Theo Kusters
Komt die datum uit MySQL? Zo ja, dan kan je eens kijken naar DATE_FORMAT, welke je in je SELECT-query kan gebruiken.
Goede morgen, nee deze variabele zit gewoon in een form script op een html pagina wat een php script aanroept.
Je kan [php]strtotime[/php] gebruiken, maar sinds jouw data formaat niet het officiële formaat is (officieel is het YYYY-MM-DD) kan dit voor problemen zorgen.

Het beste is dan om [php]DateTime[/php] te gebruiken, hierin kun je namelijk aangeven hoe je data eruit ziet:
<?php

$yourDate = '22-03-2014';
$dateTime = DateTime::createFromFormat('d-m-Y', $yourDate); // nu is date omgezet in een DateTime object

echo $dateTime->format('l d F Y'); // toon de datum in je nieuwe formaat
?>
Of, als objecten je heel erg vreemd voorkomen en je liever functies gebruikt:
<?php

$yourDate = '22-03-2014';
$dateTime = date_create_from_format('d-m-Y', $yourDate); // nu is date omgezet in een DateTime object

echo date_format($dateTime, 'l d F Y'); // toon de datum in je nieuwe formaat
?>

Voor een uitleg van al die vreemd lijkende letters die ik gebruikte, zie [php]datetime.createfromformat[/php].
Het probleem:
PHP.net DateTime::format()

This method does not use locales. All output is in English.
Thx ïk ga het proberen :-)
Krijg het niet voor elkaar, het script ziet er zo uit;

$Date .="Datum & tijd van aanvraag formulier: " . date("d-m-Y H:i:s") . "\n";
$msg_body = "";
$msg_body .= "*********** AANVRAAG KENNISMAKINGSGESPREK **********\n";
$msg_body .= "\n";
$msg_body .= "Gegevens ouder en kind:\n";
$msg_body .= "\n";
$msg_body .= "Gegevens ouders/verzorger: $achternaam\n";
$msg_body .= "Ouders/verzorger kind: $naamkind\n";
$msg_body .= "Geboortedatum kind: $gebdatum\n";
$msg_body .= "School: $naambasis\n";
$msg_body .= "\n";
$msg_body .= "Email ouders/verzorger: $email\n";
$msg_body .= "Telefoon ouders/verzorger: $telefoon\n";
$msg_body .= "\n";
$msg_body .= "Kennismaken op:\n";
$msg_body .= "Gewenste dag: $keuze2\n";
$msg_body .= "Datum: $dagen2\n";
$msg_body .= "Gewenste tijd: $keuze3\n";
$msg_body .= "\n";

Het gaat om "Datum: $dagen2"
Waar is $dagen2 gevuld?

<?php
setlocale(LC_TIME, "nl_NL");

$datum = '22-03-2014';

$dagen2 = strftime("%A %e %B %Y", strtotime($datum));

echo $dagen2; // zaterdag 22 maart 2014
?>
Super :-))))))))))))
dank je wel!!! hij doet het!!


[size=xsmall]Toevoeging op 25/03/2014 10:19:48:[/size]

echt top!

[size=xsmall]Toevoeging op 25/03/2014 10:26:35:[/size]

nog klein vraagje, krijg alleen de Engelse datum;
Datum: Saturday 22 February 2014
ondanks dat dit in beide scripts zit;
setlocale(LC_TIME, "nl_NL");
Plaats je de setlocale wel helemaal bovenaan? Bij voorkeur de 1e regel (ligt eraan wat je er nog meer hebt staan)
Probeer anders eens setlocale(LC_TIME, "Dutch"); of setlocale(LC_ALL, 'nl_NL');

Reageren