1. LocalTime클래스

LocalTime시간은 있지만 날짜는 없이 작업해야 하는 경우를 위해 클래스를 만들었습니다 . 예를 들어 알람 시계 애플리케이션을 작성한다고 가정합니다. 시간은 중요하지만 날짜는 중요하지 않습니다.

클래스 LocalTime는 클래스와 매우 유사합니다 LocalDate. 마찬가지로 해당 객체는 생성 후에 변경할 수 없습니다.

현재 시간 얻기

LocalTime개체를 만들려면 정적 메서드를 사용해야 합니다 now(). 예:

LocalTime time = LocalTime.now();

여기서 timeLocalTime변수이고 클래스 의 정적 메서드에 대한 호출입니다 .LocalTime.now()now()LocalTime

예:

암호 콘솔 출력
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

점 뒤에는 현재 나노초 수가 표시됩니다.

2. 특정 시간 받기

특정 시간을 얻으려면 정적 메서드를 사용해야 합니다 of(). 예:

LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);

시간, 분, 초 및 나노초를 전달합니다.

예:

암호 콘솔 출력
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

그런데 이 방법에는 두 가지 변형이 더 있습니다.

LocalTime time = LocalTime.of(hours, minutes, seconds);

그리고

LocalTime time = LocalTime.of(hours, minutes);

따라서 더 편리한 것을 사용할 수 있습니다.

초의 인덱스를 기반으로 시간 얻기

하루 중 1초의 인덱스로 시간을 얻을 수도 있습니다. 이를 위해 다음과 같은 정적 메서드가 있습니다 ofSecondOfDay().

LocalTime time = LocalTime.ofSecondOfDay(seconds);

여기서 초는 하루가 시작된 이후의 초 수입니다.

예:

암호 콘솔 출력
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

예, 10,000초는 3시간보다 약간 적습니다. 모두 맞습니다.

3. 시간 요소 얻기

개체 에서 특정 시간 요소의 값을 가져오려면 LocalTime다음과 같은 방법이 있습니다.

방법 설명
int getHour()
시간을 반환
int getMinute()
분을 반환합니다.
int getSecond()
초를 반환
int getNano()
나노초를 반환합니다.

예:

암호 콘솔 출력
LocalTime now = LocalTime.now();
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());

2
46
40
0

LocalTime4. 개체 의 시간 변경

LocalTime클래스에는 시간 작업을 수행할 수 있는 메서드도 있습니다. 이러한 메서드의 구현은 클래스의 메서드와 유사합니다 LocalDate. 기존 개체를 변경하지 않고 LocalTime대신 원하는 데이터가 있는 새 개체를 반환합니다.

클래스 의 메서드는 다음과 같습니다 LocalTime.

방법 설명
plusHours(int hours)
시간 추가
plusMinutes(int minutes)
분 추가
plusSeconds(int seconds)
초 추가
plusNanos(int nanos)
나노초 추가
minusHours(int hours)
시간 빼기
minusMinutes(int minutes)
분 빼기
minusSeconds(int seconds)
초 빼기
minusNanos(int nanos)
나노초를 뺍니다

예:

암호 콘솔 출력
LocalTime time = LocalTime.now();
LocalTime time2 = time.plusHours(2);
LocalTime time3 = time.minusMinutes(40);
LocalTime time4 = time.plusSeconds(3600);

System.out.println(time);
System.out.println(time2);
System.out.println(time3);
System.out.println(time4);





10:33:55.978012200
12:33:55.978012200
09:53:55.978012200
11:33:55.978012200

각각의 경우에 원래 time개체에 상대적인 새 시간을 얻습니다. 시간에 추가하면 3600 seconds정확히 1hour.