[개발 일기] 2025.05.23 - LocalDateTime vs Long (에포크 타임)

2025. 5. 23. 12:38·개발 일기

💡 개요

 

보통 백엔드에서 프론트엔드로 LocalDateTime와 같은 시간 데이터를 응답할 때, Long 타입으로 변환해서 전달하는 것이 나은지, 아니면 LocalDateTime 타입 그대로 전달하는 것이 나은지 고민한다.

 

 

오늘은 두 방식에 대해 정리해 보자.

 

 

 

🛠️ LocalDateTime

 

LocalDateTime을 그대로 클라이언트에게 응답한다면 가장 큰 장점은 개발자가 알아보기 쉽다.

 

 

그 이유는 2025-05-23T14:30:00 이런 형식으로 응답이 되는데, 딱 봐도 날짜와 시간을 알 수 있기 때문이다.

 

 

하지만 LocalDateTime의 가장 큰 단점은 타임존을 포함하지 않기 때문에 혼동이 생길 수 있다.

 

 

만약 서버와 클라이언트가 다른 시간대(서버는 한국, 클라이언트는 미국)를 사용한다면 시차가 적용되지 않기 때문에 클라이언트의 나라나 지역에서 사용하는 시간대로 나타나지 않는다.

 

 

 

🛠️ Long (Epoch Time)

 

Epoch Time은 1970년 1월 1일 00:00:00 UTC을 기준으로 얼마큼의 시간이 경과했는지 나타내는 것이다.

 

 

표현 단위는 밀리초와 초 단위가 있다.

 

 

Long 타입으로 시간을 응답한다면 얻을 수 있는 가장 큰 장점은 LocalDateTime보다 크기가 작고, UTC 기준이기 때문에 서버와 클라이언트 사이에 시간대 이슈가 발생하지 않는다.

 

 

서버가 1970년 1월 1일 00:00:00 UTC 부터 경과한 밀리초를 응답한다면 클라이언트 측에서 new Date(epoch)로 로컬 시간을 표시하거나, toLocaleString() 같은 메서드로 가공해서 표시하면 된다.

'개발 일기' 카테고리의 다른 글

[개발 일기] 2025.05.25 - 일대일 관계에서 연관 관계의 주인  (0) 2025.05.25
[개발 일기] 2025.05.24 - REST API의 URL에 대한 개인적인 생각  (0) 2025.05.24
[개발 일기] 2025.05.22 - JavaScript 얕은 복사?  (1) 2025.05.22
[개발 일기] 2025.05.21 - 점진적인 개선 (Feat : 클린코드)  (0) 2025.05.21
[개발 일기] 2025.05.20 - XSS  (0) 2025.05.20
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.05.25 - 일대일 관계에서 연관 관계의 주인
  • [개발 일기] 2025.05.24 - REST API의 URL에 대한 개인적인 생각
  • [개발 일기] 2025.05.22 - JavaScript 얕은 복사?
  • [개발 일기] 2025.05.21 - 점진적인 개선 (Feat : 클린코드)
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.05.23 - LocalDateTime vs Long (에포크 타임)
상단으로

티스토리툴바