2012-03-22 14 views
15

Quindi quello che devi fare è aggiungere 30 minuti per il seguentel'aggiunta di 30 minuti fino ad oggi

date("Ymdhis"); 

Ho provato questo

+strtotime("+30 minutes"); 

tuttavia non sembra piacere. Mi chiedo quale sia il motivo corretto per farlo.

+0

possibile duplicato di http://stackoverflow.com/search ? q = add + minutes + php – Gordon

risposta

30

Il metodo di utilizzo di strtotime dovrebbe funzionare.

<?php 

echo date("Y/m/d H:i:s", strtotime("now")) . "\n"; 
echo date("Y/m/d H:i:s", strtotime("+30 minutes")); 

?> 

uscita

2012/03/22 10:55:45 
2012/03/22 11:25:45 // 30 minutes later 

Tuttavia il metodo di aggiungere il tempo, probabilmente non è corretto. Quanto sopra funzionerà per aggiungere 30 minuti all'ora corrente. Supponiamo di voler aggiungere 30 minuti da un dato tempo, $t, quindi utilizzare il secondo parametro di strtotime, che viene utilizzato come base per il calcolo delle date relative.

date("Y/m/d H:i:s", strtotime("+30 minutes", $t)); 

http://codepad.org/Z5yquF55

1

Prova qualcosa del tipo.

$Start = "12:00:00"; 
$Minutes = 30; 

$To = date("H:i:s", strtotime($Start)+($Minutes*60)); 
0

Non sono sicuro che l'intero codice è simile, ma:

date("Ymdhis"); 

sta tornando una stringa. Quindi non ha senso aggiungere il risultato di

strtotime("+30 minutes"); 

(che è un intero) a quella stringa.

O si vuole

strtotime("+30 minutes"); 

da solo, o

date("Ymdhis", strtotime("+30 minutes")); 

per ottenere la stringa formattata.

+0

Nota che in tutte queste risposte, stai ricevendo l'ora GMT (o UTC o qualsiasi altra cosa tu voglia chiamarla). – matt

0

Intendi date("Ymdhis", strtotime("+30 minutes"));? Questo rappresenterà la data che è di 30 minuti in futuro.

1

Utilizzare questa funzione:

date("Ymdhis", strtotime("+30 minutes")) 
1

strtotime() accetta un secondo parametro che è il suo punto di partenza.

Se avete date("Ymdhis", $somedate) e vuole aggiungere 30 minuti per esso, si può fare date("Ymdhis", strtotime("+30 minutes", $someddate))

0
<?php 
print date("Y-m-d h:i:s", (time() + (60*30))); 
?> 
3

Ho provato questo codice, ma non funziona per me:

$t = date(); 
date("Y/m/d h:i:s", strtotime("+30 minutes", $t)); 

Ecco la mia soluzione

//This is where you put the date, but I use the current date for this example 
$date = date("Y-m-d H:i:s"); 

//Convert the variable date using strtotime and 30 minutes then format it again on the desired date format 
$add_min = date("Y-m-d H:i:s", strtotime($date . "+30 minutes")); 
echo $date . "<br />"; //current date or whatever date you want to put in here 
echo $add_min; //add 30 minutes 
Problemi correlati