3

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

以下是我如何知道今天和六天前的内容:

$today = date("Y-m-d");
$minus6 = date('Y-m-d', strtotime('-6 days'));

现在,如何根据用户输入的内容将 $today 与 $dateString 进行切换?我根据我的谷歌搜索想到了这样的东西,但它没有产生任何结果:

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

我是否缺少一些有关日期、strtotime 或什么的基本信息?谢谢你的帮助。

4

2 回答 2

3

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

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

但你也可以像 Gavin 建议的那样做。

于 2010-03-25T21:03:08.677 回答
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() 的第二个参数传入。

于 2010-03-25T21:02:37.627 回答