Gå til innhold

Fast dato + evt 30 dager!


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet

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)

Skrevet (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 av Hjelpphp
Skrevet (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 av splitdude
Skrevet (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 av M4rTiN
Skrevet
//$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 -

Skrevet

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.

Skrevet (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 av splitdude

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...