你如何使用 Carbon 获得第一天和最后一天以及只有年和月?

我只有两个字符串,年和月。我需要在第一天和最后一天使用 Carbon。例如,提供了“2020”和“3”。我需要从中获得 2 个碳日期(2020-3-1 和 2020-3-31)。可能吗?



米脂
浏览 511回答 4
4回答

宝慕林4294392

要实现您的目标,请使用以下代码:use Carbon\Carbon; // imports the Carbon class$year = 2020;$month = 3;$date_1 = Carbon::create($year, $month)->startOfMonth()->format('Y-m-d'); //returns 2020-03-01$date_2 = Carbon::create($year, $month)->lastOfMonth()->format('Y-m-d'); //returns 2020-03-31快乐编码:)

郎朗坤

根据碳文档Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);唯一的特殊情况是,当您显式传递 null 时create(),将最小值作为缺少参数的默认值,但默认值为当前值。因此,如果您仅通过$year并且 $month 它会自动考虑第一天,然后您可以format()使用它以将第一天作为一天,例如Carbon::create($year, $month)->format("Y-m-d")

慕容708150

您可以使用以下碳方法简单地做到这startOfMonth一点endOfMonth$startOfMonth=\Carbon\Carbon::parse('2020-3')->startOfMonth()->format('Y-n-d'); $endOfMonth=\Carbon\Carbon::parse('2020-3')->endOfMonth()->format('Y-n-d');

FFIVE

我使用这种方法来获取每月的第一天和最后一天。t表示该月的最后一天。$posts = Post::whereBetween('created_at', [Carbon::createFromDate(date('Y-m-d 00:00:00', strtotime(request('year') . '-' . request('month') . '-1'))),Carbon::createFromDate(date('Y-m-d 23:59:59', strtotime(request('year') . '-' . request('month') . '-t')))])->get();return $posts编辑: 我使用+,php但很.抱歉。或者你可以使用这个:$this->client = $this->client->whereBetween('created_at', [Carbon::createFromDate(date(request('year') . '-' . request('month') . '-01 00:00:00')),Carbon::createFromDate(date(request('year') . '-' . request('month') . '-12 23:59:59'))])->get();编辑:(编辑:)根据您的问题,您需要获得第一天和最后一天。但在现实世界中,第一天是给定的,所以你只需要得到最后一天。应该是这样的。应该给出第一天,因为我们都知道它下降到 1。$firstDayOfTheMonth = date(request('year') . '-' . request('month') . '-1 00:00:00');$lastDayOfTheMonth = date(request('year') . '-' . request('month') . '-t 23:59:59');
打开App,查看更多内容
随时随地看视频慕课网APP