【问题标题】:How can I get the date of Wednesdays from now until every week by carbon? [duplicate]如何通过碳获得从现在到每周的星期三日期? [复制]
【发布时间】:2022-01-23 04:49:05
【问题描述】:

例如,今天是星期二,22-12-2012 对于条目,我有Wednesday 和号码three。 我想要这些日期...

2021-12-23
2021-12-29
2022-01-05

echo \Carbon\Carbon::now()->next('Wednesday')->toDateString();

我想将星期三替换为数字,因为我的输入是波斯语。

$numberWeek = [
    'شنبه' => 0,
    'یکشنبه' => 1,
    'دوشنبه' => 2,
    'سه شنبه' => 3,
    'چهارشنبه' => 4,
    'پنجشنبه' => 5,
    'جمعه' => 6,
];

谁能帮帮我?

谢谢大家

【问题讨论】:

    标签: php laravel date carbon


    【解决方案1】:

    有多种方法。 其中之一

    echo \Carbon\Carbon::now()->next('Wednesday')->toDateString();
    echo \Carbon\Carbon::now()->next('Wednesday')->addWeeks(1)->toDateString();
    echo \Carbon\Carbon::now()->next('Wednesday')->addWeeks(2)->toDateString();
    

    如果你想把它作为循环:

    $date = '2021-12-22';
    $number = 3;
    $i = 0;
    
    while ($i < $number) {
        echo \Carbon\Carbon::parse($date)->next('Wednesday')->addWeeks($i)->toDateString()."\n";
        $i++;
    }
    

    【讨论】:

    • 有没有办法用数字代替星期三?我们的日历是波斯语,例如,发送数字 4 表示星期三。 $numberWeek = [ 'شنبه' => 0, 'یکشنبه' => 1, 'دوشنبه' => 2, 'سه شنبه' => 3, 'چهارشنبه' => 4, 'پنجشنبه' => 5, 'جمعه' => 6, ];
    • @MohammadAfshar ,应该也可以。即:echo \Carbon\Carbon::now()-&gt;next(3)-&gt;toDateString(); 请记住 Day of week numbers are zero-indexed starting from Sunday
    • 这段代码还有一个问题,如果今天是星期三,今天就注册不了了
    • @MohammadAfshar ,在这种情况下,您可能希望在计算中注册实际的 timezone (-&gt;setTimezone("+3:30"))。即:echo \Carbon\Carbon::now()-&gt;setTimezone("+03:30")-&gt;next(3)-&gt;toDateString();
    【解决方案2】:

    下面会提到另一种方法。

    $now = Carbon::now();
    
    for ($i = 0; $i < 3; $i++) {
        echo $now->addWeeks($i)->weekdays(3)->format('Y-m-d');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2012-11-27
      • 1970-01-01
      相关资源
      最近更新 更多