0

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

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

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

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

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

4

4 回答 4

1

尝试这个

<?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);
?>
于 2012-08-14T04:46:25.833 回答
1
$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'";
于 2012-08-14T04:51:56.600 回答
0

更少的代码行:

$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');
于 2012-08-14T05:01:00.163 回答
0

或者,您可以使用 MySQL 执行此操作:

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

于 2012-08-14T05:51:09.283 回答