Domanda

Nel mio codice PHP ho una data nella mia variabile "$ sentitaData".
Ora voglio ottenere la data dopo che sono trascorsi 7 giorni, 15 giorni, un mese e 2 mesi.

Quale funzione di data devo usare?

Il formato della data di uscita deve essere nel formato USA.

È stato utile?

Soluzione

Usa strtotime.

$newDate = strtotime('+15 days',$date)

$ newDate ora sarà 15 giorni dopo $ date. $ date è ora unix.

http://uk.php.net/strtotime

Altri suggerimenti

prova questo

$date = date("Y-m-d");// current date

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");

A partire da PHP 5.2.0 è disponibile la classe build DateTime

$date = new DateTime($postedDate);

$date->modify('+1 day');

echo $date->format('Y-m-d');

http://php.net/manual/en/class.datetime.php

$date=strtotime(date('Y-m-d'));  // if today :2013-05-23

$newDate = date('Y-m-d',strtotime('+15 days',$date));

echo $newDate; //after15 days  :2013-06-07

$newDate = date('Y-m-d',strtotime('+1 month',$date));

echo $newDate; // after 1 month :2013-06-23

Questo è molto semplice; prova questo:

$date = "2013-06-12"; // date you want to upgade

echo $date = date("Y-m-d", strtotime($date ." +1 day") );

Qual è comunque il formato di input?

1) Se la tua data è, diciamo, matrice di anno, mese e giorno, puoi mktime (0, 0, 0, $ mese, $ giorno + 15, $ anno) o mktime (0, 0, 0 , $ mese + 1, $ giorno, $ anno). Nota che mktime è una funzione intelligente, che gestirà correttamente i valori fuori limite, quindi mktime (0, 0, 0, 13, 33, 2008) (che è il mese 13, giorno 33 del 2008) restituirà il timestamp per febbraio , 2, 2009.

2) Se la tua data è un timestamp, devi solo aggiungere, come, 15 * SECONDS_IN_A_DAY, e quindi emetterlo con la data (/ * qualsiasi formato * /, $ sentiteData). Se devi aggiungere un mese, 30 giorni non funzioneranno sempre correttamente, quindi puoi prima convertire il timestamp in mese, giorno e anno (con la funzione date ()) e quindi usare (1).

3) Se la tua data è una stringa, la analizzi prima, ad esempio, con strtotime (), quindi ti piacerà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top