Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试查找给定日期的前六天_Php_Date_Strtotime - Fatal编程技术网

Php 尝试查找给定日期的前六天

Php 尝试查找给定日期的前六天,php,date,strtotime,Php,Date,Strtotime,我正在使用strotime在数据库中查找前一周和下周的条目,但我似乎找不到的是,如果用户选择了过去的日期,如何查找前六天 以下是我如何知道今天和六天前是什么: $today = date("Y-m-d"); $minus6 = date('Y-m-d', strtotime('-6 days')); 现在,如何使用用户输入的$dateString切换$today? 基于我的谷歌搜索,我想到了类似的事情,但没有结果: $dateString = 2010-01-25; // for exampl

我正在使用strotime在数据库中查找前一周和下周的条目,但我似乎找不到的是,如果用户选择了过去的日期,如何查找前六天

以下是我如何知道今天和六天前是什么:

$today = date("Y-m-d");
$minus6 = date('Y-m-d', strtotime('-6 days'));
现在,如何使用用户输入的$dateString切换$today? 基于我的谷歌搜索,我想到了类似的事情,但没有结果:

$dateString = 2010-01-25; // for example
$minus6 = date('Y-m-d', strtotime('-6 days, $dateString');

我是否遗漏了一些关于日期、时间或什么的基本信息?感谢您的帮助。

您应该将实际日期放在strotime()的任何修饰符之前。例如:

$dateString = 2010-01-25; // for example
$minus6 = date('Y-m-d', strtotime('-6 days, $dateString'));
应成为:-

$dateString = "2010-01-25"; // for example
$minus6 = date('Y-m-d', strtotime("$dateString -6 days"));
…或根据Gordon的回答将其作为第二个参数作为显式时间戳传递给strotime()。

第二个参数是计算第一个参数的时间戳:

echo date('Y-m-d', strtotime('-6 days', strtotime($dateString));

但是你也可以这样做。

+1。我不知道你可以一次完成日期字符串和修饰符。不过,将单引号改为双引号,因为使用单引号$datestring将无法计算。没错,我自己也不确定是否有合适的首选方法。为发现这些引语干杯。好的,就是这样。双引号使它起作用。然而,我认为让我困惑的是“$dateString,-6天”之间的逗号。