30. januar 2005 - 19:18
Der er
13 kommentarer og 1 løsning
Ændre dato med én dag
Hej... jeg skal bruge 2 funktioner... 50 points for hver ;) Den ene skal kunne omsætte fx 27/1-2003 til 28/1-2003 osv. den skal også kunne tage måneder og år selvfølgelig Den anden skal kunne omsætte fx 2003-01-27 til 2003-01-28... igen skal den kunne tage måneder og år, altså så den ikke siger fx dag 32 :D det gør ikke noget hvis en af funktionerne, bruger den anden :) hvis man laver begge får man alle 100 ;)
Annonceindlæg fra Academic Work Denmark A/S
30. januar 2005 - 19:22
#1
<?php $dato = date("d"); $plus = $dato+1; $maanedere = date("m"); $aar = date("y"); print(" ".$dato."/ ".$maanedere." - ".$aar." "); ?>
30. januar 2005 - 19:25
#2
ret print(" ".$dato."/ ".$maanedere." - ".$aar." "); med print(" ".$plus."/".$maanedere." - ".$aar." ");
30. januar 2005 - 19:26
#3
for at få feks. 2005 istedet for 05 så kan du lave $aar = date("Y"); istedet for $aar = date("y");
30. januar 2005 - 19:28
#4
Den anden er den letteste: $dato = '2003-01-27'; $plus = strtotime('+1 day', strtotime($dato)); echo date('Y-m-d', $plus); // 2003-01-28
30. januar 2005 - 19:29
#5
net-city -> Det vil jo så ikke virke med fx: 31/1-2003, som det bliver efterlyst.
30. januar 2005 - 19:36
#6
Her er et bud på den første: $dato = '31/1-2003'; $arr = split('-', $dato); list ($dag, $maaned) = split('/', $arr[0]); echo date('j/n-Y', mktime(0,0,0,$maaned,$dag+1,$arr[1])); // 1/2-2003
30. januar 2005 - 19:44
#7
net-city-> dine virker ikke, da det ikke er datoen man er på, men en dato man kan sætte ind... detox-> ser lovende ud... har du testet det du har skrevet? bare for at vide ;)
30. januar 2005 - 19:46
#8
Jep de er testet. Her de som funktioner, hvis det var det du ønskede: $dato = '2003-01-31'; echo Plus($dato); function Plus($dato, $antal=1) { return date('Y-m-d', strtotime("+$antal day", strtotime($dato))); } $dato = '31/1-2003'; echo PlusDato($dato); function PlusDato($dato, $antal=1) { $arr = split('-', $dato); list ($dag, $maaned) = split('/', $arr[0]); return date('j/n-Y', mktime(0,0,0,$maaned,$dag+$antal,$arr[1])); }
30. januar 2005 - 19:50
#9
function adddaytousadate($date) { $plus = strtotime('+1 day', strtotime($date)); return date('Y-m-d', $plus); } function adddaytonormaldate($date) { $arr = split('-', $date); list ($day, $month) = split('/', $arr[0]); return date('j/n-Y', mktime(0,0,0,$month,$day+1,$arr[1])); } vel det samme? lavede lige til engelsk kan jeg bedre lide hehe :D tester lige, så opret et svar imellem tiden ;)
30. januar 2005 - 19:53
#10
Jo, det er rigtigt. Grunden til jeg lavede det sådan var pga fleksibiliteten, hvor man kan lægge flere dage til fx: echo Plus($dato,800); eller: echo PlusDato($dato,800);
30. januar 2005 - 19:55
#11
$plus = strtotime('+1 day', strtotime($date)); return date('Y-m-d', $plus); kan i øvrigt trækkes sammen til: return date('Y-m-d', strtotime('+1 day', strtotime($date)));
30. januar 2005 - 19:58
#12
damn... kan jeg få dig til at lave en lille ændring? ( kun hvis du gider ) gøre så der også kommer 0´er med i den sidste... det skulle der med :/ ved godt jeg har skrevet det modsatte...
30. januar 2005 - 19:59
#13
return date('j/n-Y', mktime(0,0,0,$month,$day+1,$arr[1])); rettes til: return date('d/m-Y', mktime(0,0,0,$month,$day+1,$arr[1]));
30. januar 2005 - 20:22
#14
tak skal du have :) hmm hvordan virker det karma ting der?
Vi tilbyder markedets bedste kurser inden for webudvikling