์ด ๊ณ์ฐ๊ธฐ๋ ๋ฌด์์ ํ๋์?
๋ ยท์ยท์ผ ๋จ์ ๋์ด ๊ณ์ฐ๊ธฐ๋ ์๋ ์์ผ(๋๋ ์์์ ์์์ผ)๋ถํฐ ์ง์ ํ ๊ธฐ์ค์ผ๊น์ง ์ ํํ ์ผ๋ง๋ ์๊ฐ์ด ํ๋ ๋์ง๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๊ฒฐ๊ณผ๋ฅผ ์์์ ํ๋๋ก ๋ญ๋ฑ๊ทธ๋ฆฌ์ง ์๊ณ , ๋ง ๋ช ๋ ยท๋ช ๊ฐ์ยท๋ฉฐ์น ๋ก ๋๋์ด ๋ณด์ฌ ์ค๋๋ค. "32๋ 4๊ฐ์ 18์ผ"์ฒ๋ผ ์ฐ๋ฆฌ๊ฐ ํ์์ ๋์ด๋ฅผ ๋งํ๋ ๋ฐฉ์ ๊ทธ๋๋ก์ ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
๋จผ์ ์๋ ์์ผ์ ์ฐยท์ยท์ผ๋ก ๋๋์ด ์ ๋ ฅํ๊ณ , ๊ทธ๋ค์ ๊ธฐ์ค์ผ์ ์ ๋ ฅํฉ๋๋ค(๊ธฐ๋ณธ๊ฐ์ ์ค๋ ๋ ์ง). ๊ณ์ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋์ด๊ฐ ๋ ยท์ยท์ผ๋ก ๋ถํด๋์ด ํ์๋ฉ๋๋ค. ๊ธฐ์ค์ผ์ ์ผ๋ฐ์ ์ผ๋ก ์๋ ์์ผ๊ณผ ๊ฐ๊ฑฐ๋ ๊ทธ๋ณด๋ค ์ดํ์ฌ์ผ ํฉ๋๋ค.
๊ณ์ฐ ๊ณต์ ํ์ด
๊ณ์ฐ์ ๋จผ์ ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ๋นผ๋ ๊ฒ์์ ์์ํฉ๋๋ค. ์ฐ๋ = \(Y_2 - Y_1\), ์ = \(M_2 - M_1\), ์ผ = \(D_2 - D_1\). ๊ทธ๋ฐ๋ฐ ๋ฌ๋ง๋ค ์ผ์๊ฐ ๋ค๋ฅด๊ณ ์ค๋ ๋ ์๊ธฐ ๋๋ฌธ์, ์์๊ฐ ๋์ค๋ฉด ๋ ๋จ๊ณ์ "๋ฐ์๋ด๋ฆผ"์ผ๋ก ๋ณด์ ํฉ๋๋ค. ์ผ์๊ฐ ์์์ด๋ฉด ๊ธฐ์ค์ผ์ด ์ํ ๋ฌ์ ๋ฐ๋ก ์ ๋ฌ์ ์ผ์๋ฅผ ๋ํ๊ณ ์ ์์์ 1์ ๋บ๋๋ค.
$$D = D_2 - D_1 + \text{daysInPrevMonth},\quad M = M - 1$$๊ทธ ๊ฒฐ๊ณผ ์ ์๊ฐ ์์๊ฐ ๋๋ฉด 12๋ฅผ ๋ํ๊ณ ์ฐ๋ ์์์ 1์ ๋บ๋๋ค.
$$M = M_2 - M_1 + 12,\quad Y = Y - 1$$์ค๋ (4๋ก ๋๋์ด๋จ์ด์ง๋ 100์ผ๋ก ๋๋์ด๋จ์ด์ง๋ฉด ์ ์ธ, ๋จ 400์ผ๋ก ๋๋์ด๋จ์ด์ง๋ฉด ๋ค์ ํฌํจ)์ ์ ํํ ๋ฐ์ํ๋ฏ๋ก 2์์ด 28์ผ ๋๋ 29์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๊ณ์ฐ๋ฉ๋๋ค.
$$\text{Age} = (Y_2 - Y_1)\ \text{years},\ (M_2 - M_1)\ \text{months},\ (D_2 - D_1)\ \text{days (with borrow)}$$
๊ณ์ฐ ์์
์๋ ์์ผ 2000-01-15, ๊ธฐ์ค์ผ 2024-03-10์ธ ๊ฒฝ์ฐ๋ฅผ ๋ด ์๋ค. ์ผ: \(10 - 15 = -5\)์ด๋ฏ๋ก 2024๋ 2์(์ค๋ ์ด๋ผ 29์ผ)์ ๋ฐ์๋ด๋ฆผํฉ๋๋ค. \(10 - 15 + 29 = 24\)์ผ์ด ๋๊ณ ์ ์๋ 1 ์ค์ด๋ญ๋๋ค. ์: \(3 - 1 - 1 = 1\). ์ฐ๋: \(2024 - 2000 = 24\). ๊ฒฐ๊ณผ๋ 24๋ 1๊ฐ์ 24์ผ์ ๋๋ค.
์ฃผ์ ์ฉ์ด ์ค๋ช
- ์ถ์์ผ
- ๋ ๋ ์ง ์ค ์ด์ ๋ ์ง โ ์ฌ๋(๋๋ ํญ๋ชฉ)์ด ์์๋ ๋ . ๊ณต์์์ birthYear, birthMonth, birthDay ๊ฐ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ ๊ธฐ์ค ๋ ์ง์์ ๋นผ์ง๋๋ค.
- ๊ธฐ์ค ๋ ์ง
- ์ธก์ ํ๋ ค๋ ์ฐธ์กฐ ๋ ์ง(๋ณดํต ์ค๋). toYear, toMonth, toDay๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋์ด๋ ์ถ์์ผ๋ถํฐ ์ด ์์ ๊น์ง ๊ฒฝ๊ณผํ ์๊ฐ์ ๋๋ค.
- ์ค๋
- 366์ผ์ ํฌํจํ๋ ์ฐ๋์ด๋ฉฐ, 2์ 29์ผ์ด ์ถ๊ฐ๋ฉ๋๋ค. ๊ทธ๋ ๊ณ ๋ฆฌ๋ ฅ์์ ์ฐ๋๋ 4๋ก ๋๋์ด๋จ์ด์ง๋ฉด ์ค๋ ์ด๊ณ , 100์ผ๋ก ๋๋์ด๋จ์ด์ง๋ ์ฐ๋(์ธ๊ธฐ ์ฐ๋)๋ 400์ผ๋ก๋ ๋๋์ด๋จ์ด์ ธ์ผ ํฉ๋๋ค(๋ฐ๋ผ์ 2000๋ ์ ์ค๋ ์ด์ง๋ง 1900๋ ์ ์๋๋๋ค). ์ค๋ ์ 2์ 29์ผ์ด ๊ตฌ๊ฐ ๋ด์ ํฌํจ๋ ๋๋ง๋ค ์ผ์ ๊ณ์ฐ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ๋ฌ๋ ฅ ์ฐจ์ฉ
- ๊ฒฐ๊ณผ๋ฅผ ์์ด ์๋ ์๋ก ์ ์งํ๋ ์กฐ์ ์ ๋๋ค. ์ผ ์ฐจ์ด \(D<0\)์ด๋ฉด, 1๊ฐ์์ ์ฐจ์ฉํฉ๋๋ค: ์ ์์ ์ผ์๋ฅผ \(D\)์ ๋ํ๊ณ \(M\)์ 1๋งํผ ์ค์ ๋๋ค. ์ ์ฐจ์ด \(M<0\)์ด๋ฉด, 1๋ ์ ์ฐจ์ฉํฉ๋๋ค: \(M\)์ 12๋ฅผ ๋ํ๊ณ \(Y\)๋ฅผ 1๋งํผ ์ค์ ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ธ ๋บ์ ์์์ ์ฐจ์ฉ์ ๋ฐ์ํฉ๋๋ค.
- daysInPrevMonth
- ๊ธฐ์ค ์ ๋ฐ๋ก ์์ ๋ฌ๋ ฅ ์์ ๊ธธ์ด(28, 29, 30, ๋๋ 31์ผ) โ ์ผ ์ฐจ์ฉ ์ค์ \(D\)์ ๋ํด์ง๋ ๊ฐ์ ๋๋ค. ์์ ๊ธธ์ด๊ฐ ๋ค์ํ๋ฏ๋ก, ๋ถ์์ ํ ์์ "์์ฑ"ํ๋ ์ ํํ ์ผ์๋ ๊ณ ์ ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ด ๋์ด๋ฅผ ๋ ๊ณผ ์๋ง์ผ๋ก๋ ์ผ ๋จ์๋ก ๋์ถํ ์ ์๋ ์ด์ ์ ๋๋ค.
- ๊ฒฝ๊ณผ ์๊ณผ ์ญ์ง ๋
- ๊ฒฝ๊ณผ ์์ ์ค์ ๋ก ์๋ฃ๋ ์ ์ฒด ๋ฌ๋ ฅ ์์ ๊ณ์ฐํ์ฌ(์: 18๊ฐ์) ์ค์ ์ ๊ฒฝ๊ณ๋ฅผ ์ ์งํฉ๋๋ค. ์ญ์ง ๋ ์ ์ด ์ผ์๋ฅผ ํ๊ท ๋ ๊ธธ์ด(์: 365.25)๋ก ๋๋์ด 1.52๋ ๊ฐ์ ์์น๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ญ์ง ๋ ์ ํ๊ท ํ์ ํธ๋ฆฌํ์ง๋ง ์ ํํ ๋ฌ๋ ฅ ๊ตฌ์กฐ๋ฅผ ์์ต๋๋ค. (๋ , ์, ์ผ) ๋ถํด๋ ์ค์ ๋ฌ๋ ฅ์ ์ ํํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ค๋ ๋ ์ฒ๋ฆฌ๋๋์? ๋ค. 2์์ ์ผ์์ ๋ฐ์๋ด๋ฆผ ๊ณ์ฐ์ ์ค๋ ๊ท์น์ ์์ ํ ์ ์ฉํฉ๋๋ค.
๊ธฐ์ค์ผ์ด ์๋ ์์ผ๋ณด๋ค ์์๋ฉด ์ด๋ป๊ฒ ๋๋์? ๊ฒฐ๊ณผ๊ฐ ์์๋ก ๋์ฌ ์ ์์ต๋๋ค. ์๋ฏธ ์๋ ๋์ด๋ฅผ ์ป์ผ๋ ค๋ฉด ๊ธฐ์ค์ผ์ ์๋ ์์ผ๊ณผ ๊ฐ๊ฑฐ๋ ๊ทธ ์ดํ๋ก ์ค์ ํ์ธ์.
์ ๋ ยท์ยท์ผ๋ก ๋๋๋์? ์ฐ๋ฆฌ๊ฐ ํ์ ๋์ด๋ฅผ ๋งํ๋ ๋ฐฉ์๊ณผ ์ผ์นํ๋ฉฐ, ์์์ ํ ์๋ฆฌ๋ก ํํ๋ ์ฐ์๋ณด๋ค ํจ์ฌ ์ง๊ด์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.