PHP:日期间隔(星期)仅包含当前(而不是先前)月份的日期

时间:2018-08-08 10:25:50

标签: php

我有一个小的代码段,它打印日期间隔:

$week = strtotime("-1 week"); 
$basic = date('Y', strtotime("-1 week"));
$start = __('%s-%s', $basic, date('m-d', strtotime("monday this week", $week)));
$end = __('%s-%s', $basic, date('m-d', strtotime("sunday this week", $week)));

代码产生以下输出:

30. 08 .18-05.08.18

但是,我希望代码为我提供上周 的值,因此应该为:30。 07 .18-05.08.18

(突出显示以提高可读性)。

我尝试了几种变体,例如将基本时间从Y更改为M,但没有结果。我也查看过以前的问题和解决方案,而没有解决问题。

谢谢。

更新该错误发生在系统的另一部分中,该部分处理时间和文件生成。这篇文章中的代码是正确的。

1 个答案:

答案 0 :(得分:0)

我相信您想使用last关键字,请参见Relative Formats Documentation的说明。但主要是一些尝试和错误。

php > echo date('Y-m-d', strtotime('-1 week'));
2018-08-01

php > echo date('Y-m-d', strtotime('first day of last week'));
2018-07-01

php > echo date('Y-m-d', strtotime('last week'));
2018-07-30