在 php 中的特定日期后一周


One week after a specific date in php

您对如何指定特定日期之后的一周日期有什么想法吗?我正在使用日期选择器来获取我的开始时间,这是我将其转换为日期的方式。

$formatdate = str_replace("(/')", "-", $startdate);
$time2 = strtotime( $formatdate );
$date = date('Y-m-d', $time);

我需要知道开始日期 1 周后的日期,以便像这样在我的 mysql 查询中使用它。

SELECT * FROM `table` WHERE `date` BETWEEN '$stardate' AND '$enddate'

谢谢你们!任何帮助将不胜感激。

$formatdate = str_replace("(/')", "-", $startdate);
$start = new DateTime( $formatdate );
$startdate = $start->format("Y-m-d H:i:s");
$next_week = clone $start;
$next_week->add(new DateInterval("P1W"));
$enddate = $next_week->format("Y-m-d H:i:s");
$sql = "SELECT * FROM `table` WHERE `date` BETWEEN '$stardate' AND '$enddate'";

试试这个

<?php
$currentDate=date("Y-m-d");
$dateOneWeekAdded = strtotime(date("Y-m-d", strtotime($currentDate)) . " +1 week");
echo date("Y-m-d",$dateOneWeekAdded);
?>

编辑:对于特定日期,您可以将上面的代码重写为

<?php
$currentDate="08/14/2012";
$dateOneWeekAdded = strtotime(date("Y-m-d", strtotime($currentDate)) . " +1 week");
echo date("Y-m-d",$dateOneWeekAdded);
?>

更少的代码行数:

$end = new DateTime("today +1 week"); 
print $end->format('Y-m-d');

对于给定日期:

$start = "2012-10-24";
$end = new DateTime("$start +1 week"); 
print $end->format('Y-m-d');
或者

你可以用MySQL来做:

SELECT * FROM table WHERE date BETWEEN '$stardate' AND DATE_ADD('$stardate', INTERVAL 7 DAY)