我想得到的是到今天为止的最后四个星期日。 我用过 Moment.js过去作为-6ren">
gpt4 book ai didi

javascript - 在 PHP 和/或 JavaScript 中获取最后四个星期日

转载 作者:行者123 更新时间:2023-11-29 16:10:23 24 4
gpt4 key购买 nike

根据 this问题 我找到了一些代码,可以显示给定月份的所有星期日。

<?php
function getSundays($y, $m)
{
return new DatePeriod(
new DateTime("first sunday of $y-$m"),
DateInterval::createFromDateString('next sunday'),
new DateTime("last day of $y-$m")
);
}


foreach (getSundays(date('Y'), date('m')) as $sunday) {
echo $sunday->format("l, Y-m-d\n");
}
?>

我想得到的是到今天为止的最后四个星期日。

我用过 Moment.js过去作为另一个 jQuery 和 Twitter Bootstrap 插件的一部分,并认为至少在前端可以使用它。

例如,今天是 2015 年 5 月 13 日星期三。最后四个星期日将是

  • 2015 年 5 月 10 日
  • 2015 年 5 月 3 日
  • 2015 年 4 月 26 日
  • 2015 年 4 月 19 日

假设今天是 5 月 19 日星期日,那么最后四个将是

  • 2015 年 5 月 17 日
  • 2015 年 5 月 10 日
  • 2015 年 5 月 3 日
  • 2015 年 4 月 26 日

这是一个简单的时间表应用程序,作为表单的一部分。后端是 Laravel 5 (PHP),前端目前是简单的 vanilla JavaScript,必要时带有一些 jQuery。我不介意它是如何实现的,因为一旦我有了日期,我就可以根据需要进行操作。

最佳答案

你可以从前一周回来,然后从那里开始,走你已经有的那段时间,然后在下周日休息:

function getLastSundays()
{
$from = new DateTime();
$from->modify('-4 weeks');
return new DatePeriod(
$from,
DateInterval::createFromDateString('next sunday'),
new DateTime()
,DatePeriod::EXCLUDE_START_DATE);
}

$p = getLastSundays();
foreach (array_reverse(iterator_to_array($p)) as $sunday) {
echo $sunday->format("l, d F Y"), '<br/>';
}

Sample Output

关于javascript - 在 PHP 和/或 JavaScript 中获取最后四个星期日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com