2016-10-04 60 views
0
$date = "2016-10-04"; 
    $date1 = str_replace('-', '/', $date); 
    $tomorrow = date('y-m-d',strtotime($date1 . "+1 days")); 

    echo $tomorrow; 

使用上面的php代碼添加一天給定的值。最後它返回16-10-05。但2016-10-05全年我需要它。我如何得到它?如何從yy/mm/dd獲取yyyy/mm/dd日期格式?

+3

將y更改爲date()以及爲什麼使用str_replace()不需要該類型轉換 –

+0

@RakeshSojitra它可以工作。大 – isuru

+1

我強烈建議改爲使用'DateTime'類,如下面的@masterFly所示。 – ChristianF

回答

3

試試這個,使用 'Y' 不是 'Y'

$date = "2016-10-04"; 
$date1 = str_replace('-', '/', $date); 
$tomorrow = date('Y-m-d',strtotime($date1 . "+1 days")); 

echo $tomorrow; 

DEMO

3

對於全年利用 'Y',而不是 'Y'

$date = "2016-10-04"; 
$date1 = str_replace('-', '/', $date); 
$tomorrow = date('Y-m-d',strtotime($date1 . "+1 days")); 

echo $tomorrow; 
2

您需要在日期函數中將'y-m-d'更改爲'Y-m-d'。

Y - A four digit representation of a year 
y - A two digit representation of a year 

參考鏈接:http://www.w3schools.com/php/func_date_date_format.asp

試試下面的代碼:

$date = "2016-10-04"; 
$date1 = str_replace('-', '/', $date); 
$tomorrow = date('Y-m-d',strtotime($date1 . "+1 days")); 

echo $tomorrow; 
2

它始終是更好地使用DateTime。以下應該工作!

$date = new DateTime("2016-10-04"); 
$interval = new DateInterval('P1D'); 
echo $date->add($interval)->format("Y-m-d"); 

注意:你可以擺脫$date1 = str_replace('-', '/', $date);這似乎對我來說是不必要的。

您可以從PHP手冊中瞭解關於DateTime和DateInterval的更多信息。

乾杯!

+1

你甚至不需要在這一個上使用'DateInterval',因爲'$ date-> modify('+1 day')'完美地工作。 ;) – ChristianF

+0

@ChristianF,感謝您的評論!我之前沒有使用'modify'。它的工作原理!更簡單!謝謝!!! – masterFly

+0

不客氣。很高興我能幫上忙。 :) – ChristianF

相關問題