
๐ To Do List
โ๏ธ ์ฝํ ๊ฐ์ - ๋ฒ๋ธ ์ ๋ ฌ, ์ ํ ์ ๋ ฌ
โ๏ธ ์ฌ์ด๋ ํ๋ก์ ํธ - ๋ง๋ฃ ์์ ํ ํฐ ์ฌ๋ถ ํ ์คํธ ์ฝ๋ ์์ฑ
๐ฉ๐ป๐ป Today I Learned ...
toDays()๋ฅผ ์ฌ์ฉํ ์ฝ๋์ ๋ฌธ์ ์
val expiration = getExpiration(refreshToken).toInstant()
val now = Instant.now()
val duration = Duration.between(now, expiration) # 691199์ด -> 7์ผ 23์๊ฐ59๋ถ59์ด
return duration.toDays() in 0..7 # true
๋ง๋ฃ ์์ ํ ํฐ ์ฌ๋ถ ํ ์คํธ ์งํ ์ค, ๋ง๋ฃ์ผ์ด ์ฝ 8์ผ์ด๋ผ ๋ฒ์์์ ๋ฒ์ด๋๋ฏ๋ก ๊ฒฐ๊ณผ๊ฐ์ `false`๋ก ๊ธฐ๋ํ๋๋ฐ
`true`๊ฐ ๋์๋ค.
691199์ด = 691199 / 86400 = 7.99998... ์ผ
691199์ด.toDays() = 7์ผ // 8์ผ์ด ์๋
`toDays()`๋ ์์์ ์ ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์, `7.9998...`์ผ์ด `7`์ผ์ด ๋๊ณ ์กฐ๊ฑด๋ฌธ ๋ฒ์์ ํด๋นํ๊ธฐ ๋๋ฌธ์ `true`๊ฐ
๋ฐํ๋ ๊ฒ์ด๋ค.
Instant๋ก ์ง์ ๋น๊ตํ๊ธฐ
val expiration = getExpiration(refreshToken).toInstant()
val now = Instant.now()
val deadline = now.plus(baseDays, ChronoUnit.DAYS)
return expiration in now..deadline
์ด๊น์ง ์ ํํ ๊ณ์ฐํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด์ ๊ณ ๋ คํ๋ ๊ฒ ์ฒ๋ผ `toHours()`๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, `Instant`๋ก ์ง์ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ์์ ์ด ํ์ํ๋ค. ๊ตฌํ์ด ์ฝ๊ณ ์ฝ๋ ๊ฐ๋ ์ฑ์ด ์ข์ ํ์ ๋ฐฉ์์ ์ ํํ๋ค.
public Instant plus(long amountToAdd, TemporalUnit unit) { /*...*/ }
public Instant minus(long amountToSubtract, TemporalUnit unit) { /*...*/ }
`Instant` ํด๋์ค์๋ `plus()`, `minus()` ๋ฑ์ ํจ์๊ฐ ์๋ค. `TemporalUnit`์ธํฐํ์ด์ค๋ ๋ ์ง์ ์๊ฐ์ ์ธก์ ํ๋
๋จ์๋ฅผ ๋ํ๋ด๋ฉฐ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉํ๋ฉด ์๊ฐ, ๋ถ, ์ด ๋ฑ์ ๋จ์๋ฅผ ์ง์ ํ ์ ์๋ค.
'Today I Learned ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL-20260212] ์ฝ๋ฉ ํ ์คํธ ๋ณต์ต - ํ(Tower) ๋ฌธ์ (0) | 2026.02.14 |
|---|---|
| [TIL-20260211] ์ฝํ - ๋ณํฉ ์ ๋ ฌ , Open API 3.0 Swagger ๋ฌธ์ ์์ฑ (0) | 2026.02.12 |
| [TIL-20260206] Duration์ผ๋ก ํ ํฐ ๋ง๋ฃ ์๋ฐ ์ฌ๋ถ ์ฒดํฌ (0) | 2026.02.07 |
| [TIL-20260205] Access Token ์ฌ๋ฐ๊ธ ๊ตฌํ (0) | 2026.02.05 |
| [TIL-20260204] ์ฝ๋ฉ ํ ์คํธ - ์ฌ๊ท ํจ์ (Recursive Function) (0) | 2026.02.04 |