문제
나는 전년도의 연도와 동일한 날짜 범위에 비해 현재 연도의 매출을 현재 연도 초에서 현재 날짜까지 보여주는 프로그램을 작성하고 있습니다.
내 질문은, 도약 연도에 어떤 노력을 기울여야합니까?
업데이트:
좋아, 그들은 내가 말한 것처럼 그것을 원하지만 (작년과 같은 날짜를 비교) 오늘은 비약이 아닌 연도이고 작년은 2 월 28 일이 지난해 29 위입니다. 또는 오늘이 2 월 29 일이면 작년과 비교하여 최대 28 일입니다.
해결책
분명히 그것은 비즈니스가 원하는 것에 달려 있습니다. 회계사가 대답 해야하는 질문이 아닙니까?
다른 팁
이것은 나를 비즈니스 결정으로 부딪칩니다. 사업 유형에 따라 그 여분의 날은 중요하지 않을 수 있습니다. 그렇지 않으면, 나는 당신이 "1 월 1 일부터 x"보다는 "올해의 첫 N 일"으로 취급 할 수 있다고 생각합니다.
아이디어는 다음과 같습니다. 그러나 다른 사람들이 특정 영역을 기반으로 할 수 있다고 말했습니다.
- 1 "정규화 된"연도 = 365.242199 일 모든 도약을 세는 일을 고려하십시오 (Google 말)
- 해당 연도의 실제 일수를 기준으로 연중 평균 매출을 계산하십시오.
- 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 일 1 일과 9 월 1 일 1 일과 비교하면 다음과 같이 할 것입니다.
if(year == leapyear && day > 28Feb)
Convert date to dayOfYear
leapYearValue *= dayOfYear / (dayOfYear + 1)
그러나 이것은 실제로 사양에 있어야합니다.
제휴하지 않습니다 StackOverflow