아빠는 개발자

[java] Unix 타임스탬프 본문

Java

[java] Unix 타임스탬프

father6019 2024. 6. 1. 22:03
728x90
반응형

Unix 타임스탬프는 시간대와 무관하며, 항상 UTC 시간을 기준으로 . 따라서 시스템 시간이 어떤 시간대에 설정되어 있든지 간에 동일한 결과를 제공

  

테스트 코드 

import java.time.Instant;

public class CurrentUnixTimestamp {
    public static void main(String[] args) {
        // 현재 시간을 Unix 타임스탬프로 가져오기
        long unixTimestamp = Instant.now().getEpochSecond();

        // 결과 출력
        System.out.println("현재 시간 (Unix 타임스탬프): " + unixTimestamp);
    }
}
 
 
 
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.Instant;

public class UnixTimestampExample {
    public static void main(String[] args) {
        // 특정 날짜 설정 (2023년 4월 4일)
        LocalDate specificDate = LocalDate.of(2023, 4, 4);
        
        // 시스템 기본 시간대에서 유닉스 타임스탬프 구하기
        long unixTimestamp = specificDate.atStartOfDay(ZoneId.systemDefault()).toEpochSecond();
        System.out.println("Unix timestamp (system default time zone): " + unixTimestamp);
        
        // UTC 시간대에서 유닉스 타임스탬프 구하기
        long unixTimestampUtc = specificDate.atStartOfDay(ZoneId.of("UTC")).toEpochSecond();
        System.out.println("Unix timestamp (UTC time zone): " + unixTimestampUtc);
    }
}

DB에는 ISO-8601 형식으로 저장되어 있다보니 

LocalDate specificDate = LocalDate.of(2023, 4, 4);

를  스트링을 LocalDate 로 변환하는 걸로 변경 

 

LocalDate localDate = LocalDate.parse(dateString);

 

728x90
반응형