[Java] 현재 시간 초단위, 밀리세컨드로 가져오기
May 15, 2024
현재 날짜/시간 값을 초 단위 또는 밀리세컨드 단위로 변환하는 방법에 대해서 알아보겠습니다.
1. System.currentTimeMillis()를 이용한 방법
System.currentTimeMillis()
는 현재 시스템의 시간을 밀리초(milliseconds) 단위 값으로 리턴합니다.
이 값은 UTC 시간으로, 즉, 1970년 1월 1일 00:00:00 UTC (협정 세계시)로부터 현재까지 경과한 시간입니다. 이 값을 이용하여 시스템의 상대적인 시간을 계산하거나 비교할 수 있습니다.
System.currentTimeMillis()
: UTC 시간을 밀리세컨드 단위로 리턴
public class Example {
public static void main(String[] args) {
long currentTimeMillis = System.currentTimeMillis();
System.out.println("Current Time in Milliseconds: " + currentTimeMillis);
}
}
Output:
Current Time in Milliseconds: 1693130448316
초 단위로 변경
위에서 가져온 밀리세컨드 값을 1000으로 나눠서 초 단위로 변환할 수 있습니다.
long currentTimeMillis = System.currentTimeMillis() / 1000;
System.out.println("Current Time in Seconds: " + currentTimeMillis);
2. LocalDateTime.toEpochSecond()를 이용한 방법
LocalDateTime.toEpochSecond()
는 LocalDateTime의 시간을 Epoch(UTC) 시간으로 변환합니다.
toEpochSecond()
가 리턴하는 값의 단위는 second으며, Milliseconds로 변환하려면 1000을 곱하면 됩니다.LocalDateTime.now()
: 현재 날짜/시간 정보가 있는 LocalDateTime 객체 리턴currentTime.toEpochSecond(ZoneOffset.UTC)
: LocalDateTime을 UTC로 변경
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class Example {
public static void main(String[] args) {
LocalDateTime currentTime = LocalDateTime.now();
long secondsSinceEpoch = currentTime.toEpochSecond(ZoneOffset.UTC);
System.out.println("Current Time in Seconds: " + secondsSinceEpoch);
}
}
Output:
Current Time in Seconds: 1693162882