2013-06-22 32 views
-3

我在尋找很多東西時未找到解決方案。如何從特定日期獲得接下來的兩個星期六

這裏是我的代碼:

Post="2/28/2013"; 
$timestamp = strtotime($_POST['date']); 
$datum = date("Y-m-d H:i:s", $timestamp); 

我想有接下來的兩個週六之後的日期(由用戶命名),以提供兩個輔助日期的客戶。我拿這個日期去查看​​mySQL,看看日期是否可用。

這給了下週六從今天開始,但它並沒有幫助:

$nextSaturday= date("M d Y", strtotime('+1 Saturday')); 
+0

'的strtotime()'需要第二個參數'$ now'。 – HenningCash

+0

-4 downvotes !!我怕再次問一個問題;) – hamburger

+0

任何暗示爲什麼它被低估?還是因爲陰雨天氣? – hamburger

回答

-1
$nextSaturday= date("M d Y", strtotime($datum.' next saturday')); 
$nextSaturday2= date("M d Y", strtotime($nextSaturday.'+ 1 week')); 

http://php.net/manual/en/function.strtotime.php

+0

不工作:沒有結果 – hamburger

+0

@hamburger如果你把它放在你的代碼下面,它應該會在下個星期六返回 – amigura

+0

你是對的。它的作用就像一種魅力。我不知道爲什麼它被低估。 – hamburger

2

做到這一點,最好的方法是用PHP DateTime類:

$date = new DateTime($_POST['date']); 
$date->modify('next Saturday'); 

echo $date->format('M d Y'); 
+0

@hamburger不,它相對於DateTime對象。 – lonesomeday

0
$time = time(); 
$saturdaysCount = 2; 
$saturdays = []; 
for ($i = 0; $i < $saturdaysCount; $i++){ 
    $time = strtotime("next Saturday", $time); 
    $saturdays[] = date('Y.m.d', $time); 
} 

var_dump($saturdays); 
0

DateTime類是肯定要走的路: -

$date = \DateTime::createFromFormat("d-m-Y", $_POST['date']); 
$int = new \DateInterval('P1W'); 
$date->modify('next saturday'); 
$firstSat = $date->format('d-m-Y'); 
$date->add($int); 
$secondSat = $date->format('d-m-Y'); 
+0

對不起有一個錯誤:調用未定義的方法DateTime :: createFromForm – hamburger

+0

我在PHP 5.2.12上登錄 – hamburger

+0

您的PHP版本沒有DateTime :: createFromFormat()。如果可以,我建議更新。否則,你可能會或可能不會對這個問題感興趣http://stackoverflow.com/q/17076627/212940 – vascowhite

相關問題