如果我有月份的数字,我想得到月份的第一个日期和最后日期。
例如1月= 01,10月= 10,11月= 11
因此,如果我将10作为参数传递,我应该得到10月的第一个和最后一个日期。
我尝试使用Carbon来实现它。但是我给了我不同的结果。
这是代码。结果就在它旁边。
$dt = Carbon::create(10);
echo $dt->startOfMonth(); // 0010-10-01 00:00:00
echo $dt->endOfMonth(); // 0010-10-31 00:00:00
答案 0 :(得分:4)
答案 1 :(得分:2)
问题在于这一行:
Carbon::create(10);
Carbon create
方法采用以下参数列表:
$year, $month, $day, $hour, $minute, $second, $tz
而你只提供第一个。因此,您最终会得到一个代表今天日期的对象,但在 10 年份。
如果您只想提供month
参数,则应使用:
Carbon::createFromFormat('m', 10);
请注意,这将默认为当前年份,因此2月份的结果将始终保持一致。