0

好的,所以我试图找出在 php 中编写(或打印)当前一周(从星期一开始)的第 1、2、3、4 和第 5 个日期(从星期一开始)的最佳方法。

例如...使用 2 月 4 日至 8 日这一周...

我需要一个显示为2013 年 2 月 4日的一周的第一天(从星期一开始)的脚本,然后我需要四次以上相同的脚本来显示星期二、星期三、星期四和星期五...

总之,我最终会得到5 个脚本或一个脚本,我可以复制和操作它们以按照我需要的方式工作......

另外,如果你能告诉我如何在周六和周日做同样的事情,那也将不胜感激。

如果有什么不明白的,请告诉我,我会尽我所能澄清...

提前致谢!

4

2 回答 2

1

首先,您需要获取“当前”周的星期一。要做到这一点,我建议打电话date("N")看看是不是 1。如果是,那么now就是你想要的星期一。否则last monday就是。将其传递strtotime给以获取与一周的第一个星期一相对应的时间戳。然后反复加24小时(24*3600秒)得到每一天。

$startofweek = date("N") == 1 ? time() : strtotime("last monday");
for($i=0; $i<5; $i++) {
    $day = $startofweek + 24*3600*$i;
    echo "Day ".($i+1).": ".date("d/M/Y",$day)."<br />";
}
于 2013-02-16T20:54:16.430 回答
0

您可以使用带有特殊参数的 strtotime。像:

$time = strtotime('monday this week');
$time = strtotime('today');
$time = strtotime('next monday');
$time = strtotime('previous monday');

一周中的每隔几天也是如此

于 2013-02-16T20:52:47.883 回答