2017-06-29 4 views
1

残りを計算する最も簡単な方法はありますか出生前に?誕生日前に残っている日数 - ラベール - カーボン

も同様の問題があります:

Days remaining before birthday in php

が、私はCarbonライブラリを使用します。以下のような

1989-6-30


更新

​​

が、それは0

getDifferenceTwoDate('1991-5-22') 
を返します。そして、あなたが今から日数に差を取得することができます

$birthday->year(date('Y')); 

が、それは$の誕生日を想定し-38

+0

Carbonが提供する 'diffInDays'関数を試しましたか? – ceejayoz

+0

はい、それは大きな日を返します: '$ startTime = Carbon :: parse(date( 'Y-m-d')); $ finishTime = Carbon :: parse($ date); return $ finishTime-> diffInDays($ startTime); ' –

+0

ああ、そうです。あなたはもっと手作業のロジックを少ししなければなりません。今年の誕生日を迎えていれば、誕生日を取って、今年の年を(* '*' * '*' * '*' )、*次に*日数の違いを行います。 – ceejayoz

答えて

2

を返すが、カーボンインスタンスである、あなたが今年の一年をリセットすることができます。 2番目の引数がfalseの場合、過去の日付は負の値を返し、将来の日付は正の値を返します。

Carbon::now()->diffInDays($birthday, false); 

あなたが-30を取得するのであれば、あなたが30を取得する場合、あなたは自分の誕生日まで30日あるんだけど、来年に基づいて計算する必要があると思います。

+0

が私の質問を更新しました。 –

+0

@ S.M_Emamianは、私が言ったように、あなたがマイナスを返すならば、翌年に基づいて計算する必要があるでしょう。 – Devon

関連する問題