2010-03-24 21 views

Odpowiedz

20

strtotime jest twoim przyjacielem

echo strtotime("-1 week"); 
+0

Masz literówka strotime dla strtotime .. :) za wcześnie zaledwie 5 lat temu ....: D –

+0

@Yegya Ha! Naprawiono: P –

6

Jest następujący przykład na PHP.net

<?php 
    $nextWeek = time() + (7 * 24 * 60 * 60); 
       // 7 days; 24 hours; 60 mins; 60secs 
    echo 'Now:  '. date('Y-m-d') ."\n"; 
    echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n"; 
    // or using strtotime(): 
    echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n"; 
?> 

Zmiana + na - na pierwszej (lub ostatniej) linii dostanie to, co chcesz.

-1
<?php 
    $before_seven_day = $date_timestamp - (7 * 24 * 60 * 60) 
    // $date_timestamp is the date from where you found to find out the timestamp. 
?> 

możesz również użyć ciągu znaków do funkcji czasu do konwersji daty na znacznik czasu. jak

strtotime(23-09-2013); 
+1

@AndrewBarber Odpowiedź mogła zostać zmieniona, ale ta odpowiedź nie zawiera linku do niczego. – starbeamrainbowlabs

3

Od PHP 5.2 można użyć DateTime:

$timestring="2015-03-25"; 
$datetime=new DateTime($timestring); 
$datetime->modify('-7 day'); 
echo $datetime->format("Y-m-d"); //2015-03-18 

Zamiast tworzyć DateTime sznurkiem, można setTimestamp bezpośrednio na obiekcie:

$timestamp=1427241600;//2015-03-25 
$datetime=new DateTime(); 
$datetime->setTimestamp($timestamp); 
$datetime->modify('-7 day'); 
echo $datetime->format("Y-m-d"); //2015-03-18 
Powiązane problemy