datum omzetten
voorbeeld: 4 mrt 2007 moet worden 2007-03-04
Ra ra hoe fiks ik dit.
Bij voorbaat dank.
dan krijg ik de datum van vandaag:
maar ik wil graag
als op een $adres staat: 2007mrt04
en dit dus omzetten naar: 2007-03-04
strtotime() en date() kunnen je verder helpen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$maanden_naam = array('jan','feb','mrt'); // rest mag je zelf in typen.
$datum = "2007mrt04";
$jaar = substr($datum,0,4);
$maand = substr($datum,4,3);
$dag = substr($datum,7,2);
$counter=0;
foreach($maanden_naam as $maandnaam )
{
$counter++;
if ($maandnaam == $maand){$maand = $counter;}
}
if (strlen($maand) == 1){$maand = '0'.$maand;}
echo '['.$dag.'-'.$maand.'-'.$jaar.']<br />';
?>
$maanden_naam = array('jan','feb','mrt'); // rest mag je zelf in typen.
$datum = "2007mrt04";
$jaar = substr($datum,0,4);
$maand = substr($datum,4,3);
$dag = substr($datum,7,2);
$counter=0;
foreach($maanden_naam as $maandnaam )
{
$counter++;
if ($maandnaam == $maand){$maand = $counter;}
}
if (strlen($maand) == 1){$maand = '0'.$maand;}
echo '['.$dag.'-'.$maand.'-'.$jaar.']<br />';
?>
Heb ik een en ander maal geprobeerd
$jrmddg=04 mrt 2007;
$jrmddg=date('Y m d',$jrmddg);
dan krijg ik de melding: Notice: A non well formed numeric value encountered
en wanneer ik: strtotime('Y m d',$jrmddg);
dan krijg ik dezelfde foutmelding.
het zit in het deel dat in mijn voorbeeld - mrt - wordt genoemd dit zou dan omgezet moeten worden naar 03 de derde maand van het jaar.
Ik probeerde het met "explode" maar het zal dan waarschijnlijk uit de oude knutseldoos moeten komen.
Is wel een hele operatie aan commando's. (" zal ik maar zeggen ")
Dank voor je antwoord.
Quote:
Heb ik een en ander maal geprobeerd
$jrmddg=04 mrt 2007;
$jrmddg=date('Y m d',$jrmddg);
dan krijg ik de melding: Notice: A non well formed numeric value encountered
$jrmddg=04 mrt 2007;
$jrmddg=date('Y m d',$jrmddg);
dan krijg ik de melding: Notice: A non well formed numeric value encountered
-->
$jrmddg="04 mrt 2007"; -> met quotes
$jrmddg=date('Y m d',$jrmddg); -> niet goed
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
Doe het dan bijvoorbeeld zo:
Natuurlijk kan je er ook nog een array voor spannen:
Code (php)
1
2
3
2
3
<?php
$maanden = array("jan" => "Januari", "feb" => "Februari", "mrt" => "March"); // etc.
?>
$maanden = array("jan" => "Januari", "feb" => "Februari", "mrt" => "March"); // etc.
?>
EDIT: Array fix
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$maanden = array("Jan", "Feb", "Mrt"); // etc
$datum_begin = "04 Mrt 2007";
$stukjes = explode(' ', $datum_begin);
$dag = $stukjes[0];
$maand = array_search($stukjes[1], $maanden) + 1;
$jaar = $stukjes[2];
$datum_eind = sprintf("%04d-%02d-%02d", $jaar, $maand, $dag);
// bevat nu 2007-03-04
?>
$maanden = array("Jan", "Feb", "Mrt"); // etc
$datum_begin = "04 Mrt 2007";
$stukjes = explode(' ', $datum_begin);
$dag = $stukjes[0];
$maand = array_search($stukjes[1], $maanden) + 1;
$jaar = $stukjes[2];
$datum_eind = sprintf("%04d-%02d-%02d", $jaar, $maand, $dag);
// bevat nu 2007-03-04
?>
$jrmddg=04 mrt 2007; // Dit is toch niks??
ik weet dat het "04 mrt 2007" moet zijn.
waarom $time = strtotime("04 March 2007");
en niet $time = strtotime("04 mrt 2007");
En dat van een array was me al duidelijk geworden door het antwoord van Danny Roelofs
@PHPerik
met gebruik te maken van jouw :
$jrmddg="04 mrt 2007";
$jrmddg=date('Y m d',$jrmddg);
Dan verschijnt eveneens de foutmelding.
Notice: A non well formed numeric value encountered
Beiden bedankt voor het antwoorden.
Omdat strtotime() alleen Engelse data formaat accepteert. Mrt is niet engels voor maart. March is engels voor maart.
Bedankt voor je steun.
ouw scriptje lijkt te werken ik zal het uitproberen in de praktijk.
Ik heb er wel vertrouwen in.
Tot zover.....
De vertaling die je mij aan de hand deed is geen nieuws voor mij.
In elk geval bedankt.
Tot zover......
Moderator edit: omdat je nieuw bent!:
Gewijzigd op 01/01/1970 01:00:00 door Joop Mol
Hartelijk dank voor je "educatieve" informatie.
Ik zie voor dit moment geen reden om de knop te gebruiken en mijn tekst aan te passen.
Nogmaals tot zover......
Joop Mol schreef op 02.07.2007 16:51:
@GeMer13
Hartelijk dank voor je "educatieve" informatie.
Ik zie voor dit moment geen reden om de knop te gebruiken en mijn tekst aan te passen.
Nogmaals tot zover......
Hartelijk dank voor je "educatieve" informatie.
Ik zie voor dit moment geen reden om de knop te gebruiken en mijn tekst aan te passen.
Nogmaals tot zover......
Wat heb je toch? Ik ben geen moderator, dus kan ook niet je post veranderen. Koel eerst maar eens af voordat je iemand gaat veroordelen!
EDIT:
Zie je dit:
Quote:
Re: datum omzetten op 02.07.2007 16:10 quote bericht
(bericht gewijzigd op 02.07.2007 16:13 door Danny Roelofs)
(bericht gewijzigd op 02.07.2007 16:13 door Danny Roelofs)
Juist ja, zo heet ik dus niet! Voordat je je mond open trekt eerst maar even rustig nadenken oke?
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Ik veroordeel je niet en behoef niet af te koelen.
Hoe zou ik dat moeten doen wanneer je voor mij in zekere zin een anoniem persoon bent.
Graag gedaan....
Joop Mol schreef op 02.07.2007 17:04:
@GeMer13
Ik veroordeel je niet en behoef niet af te koelen.
Hoe zou ik dat moeten doen wanneer je voor mij in zekere zin een anoniem persoon bent.
Graag gedaan....
Ik veroordeel je niet en behoef niet af te koelen.
Hoe zou ik dat moeten doen wanneer je voor mij in zekere zin een anoniem persoon bent.
Graag gedaan....
Dit gaat nergens over. Heb je nog een vraag: Stel het hier. Anders laat dit topic rusten. En 'een anoniem persoon' heeft hier niks met een datum te maken.