2013-04-15 101 views
0

我需要能夠使用顯示下一個六月一日的PHP來計算日期。所以,今天是2013年4月15日因此我需要顯示01/06/2013(英國格式)。如果日期爲2013年8月5日我需要顯示01/06/2014PHP日期計算以顯示下一個6月份

任何人都可以幫忙嗎?

感謝,

約翰

+1

嘗試實現的strtotime(「下一個1月6日「) –

+0

@HaimEvgi我不這樣做。 –

+0

可否請您提供一個有效的公式? – BlitZ

回答

3

可以使用實現這一目標:

$now = time(); 
$june = strtotime("1st June"); 

if ($now > $june) 
    echo date("d/m/Y", strtotime('+1 year', $june)); 
else 
    echo date("d/m/Y", $june); 

希望這有助於:)

+0

輝煌!作爲一種享受,感謝Sabari。 – user2281899

-1

您可以使用此教程實現這一目標。您可以定義時區並根據您的格式顯示日期。

查看本手冊。 http://php.net/manual/en/function.date.php

明顯的例子在這裏給出:

<?php 
     // set the default timezone to use. Available since PHP 5.1 
     date_default_timezone_set('UTC'); 
     echo $today = date("d/m/y");       // 03/10/01 
    ?> 
+0

嗨,謝謝。我遇到的問題是抓取6月1日的下一個日期,而不是格式化英國日期。 – user2281899

0

當年創建一個新的DateTime對象。 DateTime是在PHP中處理日期的首選方式。

如果太早,爲下一年創建一個新的日期時間對象。

最後,使用'格式'輸出。

$d = new DateTime(date('Y').'-08-05'); 
if ($d < new DateTime()) { 
    $d = new DateTime((date('Y')+1).'-04-15'); 
} 

echo $d->format('d/m/Y'); 
1

爲此,您可以通過檢查本月份

if(date('m')>06) 
    { 
     $date= date('d-m-Y',strtotime("next year June 1st")); 
    } 
    else{ 
      $date= date('d-m-Y',strtotime("this year June 1st")); 
    } 
    echo $date; 
相關問題