在PHP中如何增加$Date的天數
P粉741678385
P粉741678385 2023-08-20 15:57:20
0
2
561
<p>我有一個作為MySQL查詢的一部分返回的日期,格式為<code>2010-09-17</code>。 </p> <p>我想要將變數$Date2至$Date5設定如下:</p> <p><code>$Date2 = $Date 1</code></p> <p><code>$Date3 = $Date 2</code></p> <p>等等,這樣回<code>2010-09-18</code>,<code>2010-09-19</code>,等等。 </p> <p>我試過</p> <pre class="brush:php;toolbar:false;">date('Y-m-d', strtotime($Date. ' 1 day'))</pre> <p>但這給我回的是<em>在</em><code>$Date</code>之前的日期。 </p> <p>有什麼正確的方法可以以'Y-m-d'格式取得我的日期,以便它們可以在另一個查詢中使用? </p>
P粉741678385
P粉741678385

全部回覆(2)
P粉393030917

如果您使用的是PHP 5.3,您可以使用DateTime物件及其add方法:

$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->add(new DateInterval('P1D')); // P1D表示1天的时间段
$Date2 = $date->format('Y-m-d');

請參閱DateInterval建構子手冊頁面,了解如何建構其他時間段以新增至您的日期(例如2天為'P2D', 3天為'P3D'等)。

如果沒有PHP 5.3,您應該可以像之前那樣使用strtotime(我已經測試過,在5.1.6和5.2.10中都有效):

$Date1 = '2010-09-17';
$Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
// var_dump($Date2)返回"2010-09-18"
P粉258788831

你只需要像這樣使用days而不是day

<?php
$Date = "2010-09-17";
echo date('Y-m-d', strtotime($Date. ' + 1 days'));
echo date('Y-m-d', strtotime($Date. ' + 2 days'));
?>

它會正確輸出:

2010-09-18
2010-09-19
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板