質問
前年度の同じ日付範囲と比較して、会計年度の初めから現在の日付までの現在の年の売上を示すプログラムを書いています。
私の質問は、le年にどのような努力が必要ですか?
更新:
OK、彼らは私が言ったようにそれを望みます(昨年と同じ日付で比較します)。または、今日が2月29日の場合、昨年から28日までと比較してください。
解決
確かにそれは、ビジネスがあなたに望んでいることによって異なります。これは会計士が答えるべき質問ではありませんか?
他のヒント
これは、ビジネス上の決定として私を襲います。ビジネスの種類によっては、その余分な日は重要ではない場合があります。それ以外の場合は、「年の最初のn日」として扱うことができると思います。 「Jan 1〜X」ではなく。
これはアイデアですが、他の人が言ったように、それはあなたの特定のドメインに基づいているかもしれません。
- 検討1"正規化済み&quot ;;年= 365.242199日、すべてのうるうを数えます(googleなど)
- その年の実際の日数に基づいて、その年の1日あたりの平均売上を計算します
- 365.242199日あたりの売上に拡大または縮小する
たとえば、
2007 = $4000 in sales. There's 365 days in 2007, so avg sale per day = $10.96 Multpiplying times num days in a normalized year (365.242199) gives you $4003.05 normalized sales
これを2008年の同様の計算と直接比較できます。
2008 = $5000 in sales. There's 366 days in 2008, so avg sale per day = $13.66 Multpiplying times num days in a normalized year (365.242199) gives you $4975.655 normalized sales for 2008!
うるう年の値を縮小して、余分な日を考慮することができます。
たとえば、通常の年の9月1日とうるう年の9月1日を比較すると、次のようになります。
if(year == leapyear && day > 28Feb)
Convert date to dayOfYear
leapYearValue *= dayOfYear / (dayOfYear + 1)
ただし、これは実際に仕様に含まれている必要があります。
所属していません StackOverflow