So erhöhen Sie die Anzahl der Tage in $Date in PHP
P粉741678385
P粉741678385 2023-08-20 15:57:20
0
2
552
<p>Ich habe ein Datum als Teil einer MySQL-Abfrage im Format <code>2010-09-17</code> zurückgegeben. </p> <p>Ich möchte die Variablen $Date2 bis $Date5 wie folgt setzen: </p> <p><code>$Date2 = $Date + 1</code></p> <p><code>$Date3 = $Date + 2</code></p> <p>Warten Sie, das gibt <code>2010-09-18</code>, <code>2010-09-19</code> usw. zurück. </p> <p>Ich habe es versucht</p> <pre class="brush:php;toolbar:false;">date('Y-m-d', strtotime($Date. ' + 1 day'))</pre> <p>Aber das gibt mir das Datum <em>vor </em><code>$Date</code> zurück. </p> <p>Gibt es eine korrekte Möglichkeit, meine Daten im Format „Y-m-d“ abzurufen, damit sie in einer anderen Abfrage verwendet werden können? </p>
P粉741678385
P粉741678385

Antworte allen(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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage