Sto cercando di ottenere il mese, sei mesi fuori dalla data corrente.Aggiungi sei mesi in php
Ho provato con:
date('d', strtotime('+6 month', time()));
Ma non sembra funzionare, restituisce sempre 01
. C'è un modo migliore per farlo?
Grazie!
Sto cercando di ottenere il mese, sei mesi fuori dalla data corrente.Aggiungi sei mesi in php
Ho provato con:
date('d', strtotime('+6 month', time()));
Ma non sembra funzionare, restituisce sempre 01
. C'è un modo migliore per farlo?
Grazie!
Trovo lavorare con DateTime molto più facile da usare:
$datetime = new DateTime();
$datetime->modify('+6 months');
echo $datetime->format('d');
o
$datetime = new DateTime();
$datetime->add(new DateInterval('P6M'));
echo $datetime->format('d');
o in PHP versione 5.4+
echo (new DateTime())->add(new DateInterval('P6M'))->format('d');
Funziona perfettamente, grazie! – dzm
Se ancora voleva utilizzare strtotime e la funzione data invece di un oggetto DateTime() funzionerebbe come segue:
date('d', strtotime('+6 months'));
Non è necessario passare time()
a strtotime, poiché è l'impostazione predefinita.
A parte questo, il tuo approccio è corretto - tranne che prendi il date('d')
(che sta mettendo fuori il giorno) e non date('m')
per il mese, quindi echo date('m', strtotime('+6 month'));
dovrebbe fare.
Tuttavia, mi consiglia di utilizzare il modo DateTime
, che John ha dichiarato. DateTime
ha diversi vantaggi rispetto alle "vecchie" funzioni di data, ad esempio non smettono di funzionare quando i secondi dal big bang UNIX non si adattano più a un intero a 32 bit.
È possibile utilizzare la classe DateTime
in collaborazione con la classe DateInterval
:
<?php
$date = new DateTime();
$date->add(new DateInterval('P6M'));
echo $date->format('d M Y');
È possibile utilizzare la classe simpleDate:
include('../code/simpleDate.php');
$date = new simpleDate();
echo $date->now()->addMonth(6)->get();
Controllare il tutorials here.
Per inciso, 'strtotime () 'usa l'ora corrente per impostazione predefinita se si omette il secondo parametro. Inoltre, non penso che 'strtotime()' calcolerà i mesi poiché non è un periodo di tempo assoluto, ad es. il numero di giorni varia di mese in mese. –