2012-06-18 11 views
6

mam tej zmiennej:PHP - strtotime - Dodaj godziny

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time()); 

ja po prostu chcesz dodać trzy godziny i powtórzyć go.

Widziałem sposób, w jaki można zrobić metodę 60 * 60 * 3 lub twardy kod "+ 3 godziny", gdy rozumie słowa.

Jaki jest najlepszy sposób uzyskania tego wyniku?

Odpowiedz

5
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60) 

3*60*60 jest najlepszym sposobem

0

Jeśli chcesz iść 'nowoczesny':

$d = new DateTime(); 
$d->add(new DateInterVal('P3H')); 
$timestamp = $d->format('Y-M-d h:i:s a'); 

bibl: DateTime obiektów

+0

To byłaby DateInterval ("PT3H"), IMHO, –

12

Najlepszym sposobem jest co myślisz jest bardziej czytelny. Poniższe wyrażenia są identyczne:

time() + 3 * 60 * 60 

strtotime('+3 hours') 
1
$time = new DateTime("+ 3 hour"); 
$timestamp = $time->format('Y-M-d h:i:s a'); 

jasny i zwięzły :)

4

ja zawsze lubię tego

$current_time = date('Y-m-d H:i:s'); 
$new_time = strtotime($current_time . "+3hours"); 
echo $new_time; 

lub

$new_time = mktime(date('H')+3, 0, 0, date('m'), date('d'), date('Y')); 
$new_time = date('Y-m-d H:i:s', $new_time); 
echo $new_time; 
0

Wystarczy dodać sekund dodaj godziny:

strtotime($your_date)+2*60*60 

Spowoduje to dodanie dwóch godzin do daty.

Powiązane problemy