๐Ÿ’ป ์ฝ”๋”ฉ ์ผ๊ธฐ : [์Šคํ”„๋ง ๊ฒŒ์‹œํŒ with React] '์‹œ๊ฐ„ ํ˜•์‹(๋ฐฉ๊ธˆ ์ „, ๋ช‡๋ถ„ ์ „, ๋ช‡ ์‹œ๊ฐ„ ์ „, ๋ช‡์ผ ์ „)' ํŽธ

ybkยท2024๋…„ 6์›” 3์ผ

spring

๋ชฉ๋ก ๋ณด๊ธฐ
49/55
post-thumbnail

๐Ÿ”” '์‹œ๊ฐ„ ํ˜•์‹(๋ฐฉ๊ธˆ ์ „, ๋ช‡๋ถ„ ์ „, ๋ช‡ ์‹œ๊ฐ„ ์ „, ๋ช‡์ผ ์ „)'์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž!


๐Ÿ’Ÿ Duration ํด๋ž˜์Šค ์ด์šฉํ•œ ์‹œ๊ฐ„ ํ˜•์‹ ๊ตฌํ˜„ํ•˜๊ธฐ

Duration ํด๋ž˜์Šค๋Š” ๋‘ ์‹œ๊ฐ„ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ๊ณ„์‚ฐํ•ด์ค๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” Comment ํด๋ž˜์Šค์— inserted๋ผ๋Š” ์‹œ๊ฐ„ ํ•„๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ํ•„๋“œ๊ฐ€ ํ˜„์žฌ๋กœ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ์ง€๋‚ฌ๋Š”์ง€๋ฅผ ํ˜•์‹ํ™”ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฝ”๋“œ ์„ค๋ช…

@Data
public class Comment {
    private LocalDateTime inserted;

    public String getInserted() {

        LocalDateTime now = LocalDateTime.now();
        Duration duration = Duration.between(inserted, now);

        long seconds = duration.getSeconds();
        long minutes = duration.toMinutes();
        long hours = duration.toHours();
        long days = duration.toDays();

        if (seconds < 60) {
            return "๋ฐฉ๊ธˆ ์ „";
        } else if (minutes < 60) {
            return minutes + "๋ถ„ ์ „";
        } else if (hours < 24) {
            return hours + "์‹œ๊ฐ„ ์ „";
        } else if (days < 7) {
            return days + "์ผ ์ „";
        } else {
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            return inserted.format(formatter);
        }
    }
}
  1. inserted๋Š” ๋Œ“๊ธ€์ด ์ž‘์„ฑ๋œ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  2. ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ์˜ ์ฐจ์ด ๊ณ„์‚ฐ : Duration.between๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌinserted ์‹œ๊ฐ„๊ณผ ํ˜„์žฌ ์‹œ๊ฐ„(now`) ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

  3. ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ : Duration ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ดˆ, ๋ถ„, ์‹œ๊ฐ„, ์ผ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

  4. ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹นํ•˜๋Š” ์‹œ๊ฐ„ ๋‹จ์œ„์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ํ˜•์‹์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ 7์ผ ์ด์ƒ ์ง€๋‚œ ๊ฒฝ์šฐ, yyyy-MM-dd ํ˜•์‹์˜ ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

profile
๊ฐœ๋ฐœ์ž ์ค€๋น„์ƒ~

0๊ฐœ์˜ ๋Œ“๊ธ€