splitdude Skrevet 9. februar 2008 Skrevet 9. februar 2008 Hei hei! Er det noen som kan hjelpe meg med følgende ting. Jeg har $date som sier 2008-02-09 Hvordan kan jeg legge til f.eks 30 dager å få den echo 2008-03-09?? På forhånd kjempetakk! Frank
vidarlo Skrevet 9. februar 2008 Skrevet 9. februar 2008 I mySQL? mysql> SELECT CURRENT_DATE(); +----------------+ | CURRENT_DATE() | +----------------+ | 2008-02-09 | +----------------+ 1 row in set (0.00 sec) mysql> SELECT ADDDATE(CURRENT_DATE(),30); +----------------------------+ | ADDDATE(CURRENT_DATE(),30) | +----------------------------+ | 2008-03-10 | +----------------------------+ 1 row in set (0.00 sec)
Zeph Skrevet 9. februar 2008 Skrevet 9. februar 2008 Denne tråden var feilpostet og er blitt flyttet til riktig kategori.
Flin Skrevet 9. februar 2008 Skrevet 9. februar 2008 (endret) $tomorrow = mktime(0, 0, 0, date("m") , date("d")+30, date("Y")); Noe sånt du ser etter? Edit : http://no2.php.net/date Der finner du mye hjelp. Lest litt der og spørr hvis det fortsatt er uklart. Endret 9. februar 2008 av Hjelpphp
splitdude Skrevet 9. februar 2008 Forfatter Skrevet 9. februar 2008 (endret) $tomorrow = mktime(0, 0, 0, date("m") , date("d")+30, date("Y")); Noe sånt du ser etter? Edit : http://no2.php.net/date Der finner du mye hjelp. Lest litt der og spørr hvis det fortsatt er uklart. Heisann og takk for svar! Den testa jeg selv, men jeg er ute etter en som holder seg kontant i forhold til $date som er konstant. Altså publiseringsdato = $date. Altså hvis noe er publisert 2008-02-10(som er $date) så vil jo den være konstant derav trenger jeg en dato som også er konstant og som er 30 dager fram i tid. $date ligger i SQL men dette må ligge i en php-fil. Endret 9. februar 2008 av splitdude
Martin A. Skrevet 9. februar 2008 Skrevet 9. februar 2008 (endret) //$date = '2008-02-10'; $time = strtotime( $date ); $time = $time + (60*60*24*30); $newtime = date( 'Y-m-d', $time ); echo "Gammel tid: {$date}<br />+30 dager: {$newtime}"; Gir følgende output: Gammel tid: 2008-02-10+30 dager: 2008-03-11 Om du har PHP5.1 eller nyere, kan du også bruke funksjonen date_modify(). $date = new DateTime( $date ); $date->modify("+30 days"); echo $date->format("Y-m-d"); Endret 9. februar 2008 av M4rTiN
splitdude Skrevet 10. februar 2008 Forfatter Skrevet 10. februar 2008 //$date = '2008-02-10'; $time = strtotime( $date ); $time = $time + (60*60*24*30); $newtime = date( 'Y-m-d', $time ); echo "Gammel tid: {$date}<br />+30 dager: {$newtime}"; Gir følgende output: Gammel tid: 2008-02-10+30 dager: 2008-03-11 Om du har PHP5.1 eller nyere, kan du også bruke funksjonen date_modify(). $date = new DateTime( $date ); $date->modify("+30 days"); echo $date->format("Y-m-d"); MANGE MANGE takk! Virket som en drøm.. - frank -
Flin Skrevet 17. februar 2008 Skrevet 17. februar 2008 function dato( $dato ) { $tid = strtotime($dato); /*Plusser på 30 dager*/ $nytid = $tid + (60*60*24*30); /*lager dato av den nye tiden*/ $nydato = date('Y-m-d', $nytid); return $nydato; }; Funksjon der du putter inn en dato og får ut den daton pluss 30 dager. Testet.
splitdude Skrevet 17. februar 2008 Forfatter Skrevet 17. februar 2008 (endret) Takker for svar...men er det jeg som er dom men får ikke denne til å virke.. Det var som jeg sa at den må ta utgangspunkt i $date_created som er datoen noe blir lagt inn på siden. Den er slik: $row->date_created = date("Y-m-d"); Endret 17. februar 2008 av splitdude
Flin Skrevet 17. februar 2008 Skrevet 17. februar 2008 Da legger du bare $date_created som input til funsjonen da. $a = dato ($date_created); echo $a;
splitdude Skrevet 18. februar 2008 Forfatter Skrevet 18. februar 2008 Takker nok engang...der ser alt ut til å virke...supert;)
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå