我正在使用strtotime来查找我的数据库中的前一周和下周的条目,但我似乎无法找到的是如果用户选择过去的日期,如何查找前六天。
以下是我今天以及之前六天所知道的事情:
$today = date("Y-m-d");
$minus6 = date('Y-m-d', strtotime('-6 days'));
现在我如何使用我的用户输入提供的$ dateString切换$今天? 基于我的谷歌搜索,我认为这样的事情,但它没有结果:
$dateString = 2010-01-25; // for example
$minus6 = date('Y-m-d', strtotime('-6 days, $dateString');
我是否遗漏了一些关于日期,时间或什么的基本信息?谢谢你的帮助。
答案 0 :(得分:3)
strtotime
的第二个参数是一个时间戳,第一个参数将从中计算出来:
echo date('Y-m-d', strtotime('-6 days', strtotime($dateString));
但你也可以like Gavin suggested。
答案 1 :(得分:1)
您应该将任何修饰符之前的实际日期放在strtotime()中。例如:
$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的回答将其作为显式时间戳作为第二个参数传递给strtotime()。