我使用碳作为日期。让我们以3月1日为例。默认情况下,Carbon会返回当前年份的3月1日。
//Returns current year value
$date = Carbon::parse('first day of March');
是否有可能从未来(明年)获得它,如果它已经在今年通过,而不使用if条件。
//Shorten this part
$date = Carbon::parse('first day of March');
if ($date->lessThanOrEqualTo(Carbon::now())) {
$date->addYear();
}
$output = $date->format('d-m-Y');
答案 0 :(得分:1)
Carbon只是PHP的DateTime类的包装类。
因此,这应该有效:
<?php
$date = new DateTime('2018-03-01');
$today = new DateTime();
if ($date < $today) {
$date->modify('+1 year');
}
echo $date->format('d/m/Y');
输出:01/03/2019
在这里了解实际的PHP DateTime课程https://secure.php.net/manual/en/class.datetime.php
我不知道为什么你不会使用if if check if something。也许你更喜欢三元?
$date = ($date < $today) ? $date->modify('+1 year') : $date;
答案 1 :(得分:0)
也许不比你的方法更清洁,但它有所不同,而且它正在发挥作用 我创建了一个包含所有相关日期的数组,今天,3月1日和明年3月1日,并对它们进行排序 然后我在数组中找到“今天”的array_search并获取下一个值。
empleado.ts
老实说,我认为这比if()要慢,但它不会使用if()作为OP请求: - )