是否有更漂亮的方法来获取下一个8月1日的完整日期:
$year = date('Y') + 1;
if (date('j') >= 1 && date('j') <= 8) {
$year = date('Y');
}
$nextAugust = '01-08-' . $year;
$nextAugust = Carbon::createFromFormat('d-m-Y', $nextAugust);
最好使用Carbon PHP
答案 0 :(得分:1)
下面的代码在八月份发现了碳物体。
$nextAugust = Carbon::parse('first day of August' . (date('n') > 8 ? ' next year' : ''));
我希望我的回答可以帮助您解决问题。
答案 1 :(得分:0)
这可以做到:
$nextAugust = Carbon::createFromFormat('d-m-Y', '01-08-' . (date('Y') + intval(date('m') / 8)));
说明:
您可以用if
除以当前月份,而不用8
的条件,然后使用intval(date('m') / 8)
将结果值转换为整数。这将给您0
或1
,并将其添加到当前年份。例如,如果您在三月(即m
是3
),则得到3/8
= 0
。因此,明年八月将在同一年,因为2018 + 0
将是2018
。另一方面,如果您在十月份(即m
是10
),则得到10/8
= 1
。因此,明年8月将在明年,因为2018 + 1
将是2019
。这是您简单实现的方法:
希望有帮助。
答案 2 :(得分:-2)
对我来说,我会这样做:
$date = '01-08-';
$year_now = Carbon::now()->format('Y');
$date = $date.$year_now;
$carbon_date = Carbon::createFromFormat('d-m-Y', $date);
让我知道它是否不起作用。