生日前剩余的天数 - laravel - 碳
问题描述:
有没有最简单的方法来计算剩余的天要birthady?生日前剩余的天数 - laravel - 碳
有一个类似的问题:
Days remaining before birthday in php
,但我想用Carbon
库。
喜欢:1989-6-30
更新
但它返回0
和
getDifferenceTwoDate('1991-5-22')
但它返回-38
答
假设$生日是碳例子,你可以用一年恢复到今年:
$birthday->year(date('Y'));
然后你可以从现在得到的天差。第二个参数为false确保过去的日期将返回负值,未来的日子将返回正值。
Carbon::now()->diffInDays($birthday, false);
所以,如果你得到-30
你需要根据明年来计算,如果你30,你有30天,直到他们的生日。
+0
更新了我的问题。 –
+0
@ S.M_Emamian,就像我说过的那样,如果它返回负值,则需要根据下一年计算。 – Devon
您是否尝试过Carbon提供的diffInDays功能? – ceejayoz
是的,但它返回一个大的日子:'$ startTime = Carbon :: parse(date('Y-m-d')); $ finishTime = Carbon :: parse($ date); return $ finishTime-> diffInDays($ startTime);' –
啊,我明白了。那么你必须在那里做更多的手动逻辑。取出生日期,做' - > year(date('Y'))'将今年设置为今年(如果他们今年的生日已经过了,有一些逻辑可以设置为* next * year) ),然后*以天为单位进行差异。 – ceejayoz