Php 在接下来的15天内,每[1、2、3]天使用碳查找一次

Php 在接下来的15天内,每[1、2、3]天使用碳查找一次,php,laravel,Php,Laravel,使用下一个15天的carbon查找每周[1、2、3]天的日期 在碳中有没有类似于momentjs的方法 下面使用momentjs展示相同的示例 momementObj.recur().every([1, 2, 3, 4, 5]).daysOfWeek(); 我认为您需要这部分文档: 例如,一周: $en = CarbonImmutable::parse('2017-02-05'); var_dump($en->week(1)->format('Y-m-d H:i')); //str

使用下一个15天的
carbon
查找每周[1、2、3]天的日期

在碳中有没有类似于
momentjs
的方法

下面使用
momentjs
展示相同的示例

momementObj.recur().every([1, 2, 3, 4, 5]).daysOfWeek();

我认为您需要这部分文档:

例如,一周:

$en = CarbonImmutable::parse('2017-02-05');
var_dump($en->week(1)->format('Y-m-d H:i')); //string(16) "2017-01-01 00:00"
var_dump($en->week(6)->format('Y-m-d H:i')); //string(16) "2017-01-06 00:00"
检查文档是否清楚,如果需要进一步澄清,请发表评论


周天数从0到6

我认为您需要这部分文档:

例如,一周:

$en = CarbonImmutable::parse('2017-02-05');
var_dump($en->week(1)->format('Y-m-d H:i')); //string(16) "2017-01-01 00:00"
var_dump($en->week(6)->format('Y-m-d H:i')); //string(16) "2017-01-06 00:00"
检查文档是否清楚,如果需要进一步澄清,请发表评论


周天数从0变为6,我认为Carbon没有现成的功能,但是有了这样的工具,您可以使用CarbonPeriod来实现这一点,请参见:。你可以得到这样的结果:

use Carbon\CarbonPeriod;
...

function dateInRange(array $days_of_week = [1,2,3], int $in_days = 15)
{
    $days = CarbonPeriod::create(Carbon::now(), Carbon::now()->addDay($in_days));

    $result = [];
    /**
     * @var Carbon $carbon
     */
    foreach ($days as $carbon) { //This is an iterator
        if (in_array($carbon->dayOfWeek, $days_of_week, true)) {
            $result[] = $carbon->format('Y-m-d D');
        }
    }

    return $result;
}
  • $days
    为您提供碳周期,这是一个
    迭代器
  • 允许您在两个日期之间的每个“期间”进行迭代
  • 然后,在填充初始数组时,在迭代它们时执行检查
  • 您可以简单地将
    $carbon
    作为循环中的carbon实例返回,而不是格式化它(我这样做只是为了演示它返回一周中的某一天)
PS:默认情况下,0是星期天,1是星期一,依此类推


我认为Carbon没有现成的功能,但有了这样的工具,您可以使用
CarbonPeriod
来实现这一点,请参见:。你可以得到这样的结果:

use Carbon\CarbonPeriod;
...

function dateInRange(array $days_of_week = [1,2,3], int $in_days = 15)
{
    $days = CarbonPeriod::create(Carbon::now(), Carbon::now()->addDay($in_days));

    $result = [];
    /**
     * @var Carbon $carbon
     */
    foreach ($days as $carbon) { //This is an iterator
        if (in_array($carbon->dayOfWeek, $days_of_week, true)) {
            $result[] = $carbon->format('Y-m-d D');
        }
    }

    return $result;
}
  • $days
    为您提供碳周期,这是一个
    迭代器
  • 允许您在两个日期之间的每个“期间”进行迭代
  • 然后,在填充初始数组时,在迭代它们时执行检查
  • 您可以简单地将
    $carbon
    作为循环中的carbon实例返回,而不是格式化它(我这样做只是为了演示它返回一周中的某一天)
PS:默认情况下,0是星期天,1是星期一,依此类推


day的意思是你想返回日期,对吗?是的,我的意思是dateday的意思是你想返回日期,对吗?是的,我的意思是日期