我有一个日期返回作为MySQL查询的一部分在形式2010-09-17。
我想设置变量$Date2到$Date5,如下所示:
$Date = $Date + 1
$Date = $Date + 2
从而返回2010-09-18,2010-09-19,等等。
我试过了
date('Y-m-d', strtotime($Date. ' + 1 day'))
但是这给了我$ date之前的日期。
以“Y-m-d”格式获取日期的正确方法是什么,以便它们可以在另一个查询中使用?
我有一个日期返回作为MySQL查询的一部分在形式2010-09-17。
我想设置变量$Date2到$Date5,如下所示:
$Date = $Date + 1
$Date = $Date + 2
从而返回2010-09-18,2010-09-19,等等。
我试过了
date('Y-m-d', strtotime($Date. ' + 1 day'))
但是这给了我$ date之前的日期。
以“Y-m-d”格式获取日期的正确方法是什么,以便它们可以在另一个查询中使用?
当前回答
都必须使用以下代码:
$nday = time() + ( 24 * 60 * 60);
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Day: '. date('Y-m-d', $nday) ."\n";
其他回答
这个作品。您可以使用它的天,月,秒,并重新格式化日期根据您的要求
public function reformatDate($date, $difference_str, $return_format)
{
return date($return_format, strtotime($date. ' ' . $difference_str));
}
例子
echo $this->reformatDate('2021-10-8', '+ 15 minutes', 'Y-m-d H:i:s');
echo $this->reformatDate('2021-10-8', '+ 1 hour', 'Y-m-d H:i:s');
echo $this->reformatDate('2021-10-8', '+ 1 day', 'Y-m-d H:i:s');
这里有一个简单的解决方法。
<?php
$date = "2015-11-17";
echo date('Y-m-d', strtotime($date. ' + 5 days'));
?>
输出将是:
2015-11-22
解决方案已经从这里找到-如何在PHP中添加日期
以下是对您的查询的最简单的解决方案
$date=date_create("2013-03-15"); // or your date string
date_add($date,date_interval_create_from_date_string("40 days"));// add number of days
echo date_format($date,"Y-m-d"); //set date format of the result
要向某个日期添加特定天数,请使用以下函数。
function add_days_to_date($date1,$number_of_days){
/*
//$date1 is a string representing a date such as '2021-04-17 14:34:05'
//$date1 =date('Y-m-d H:i:s');
// function date without a secrod argument returns the current datetime as a string in the specified format
*/
$str =' + '. $number_of_days. ' days';
$date2= date('Y-m-d H:i:s', strtotime($date1. $str));
return $date2; //$date2 is a string
}//[end function]
下面是一个演示日期修改的小片段:
$date = date("Y-m-d");
//increment 2 days
$mod_date = strtotime($date."+ 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//decrement 2 days
$mod_date = strtotime($date."- 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 month
$mod_date = strtotime($date."+ 1 months");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 year
$mod_date = strtotime($date."+ 1 years");
echo date("Y-m-d",$mod_date) . "\n";