수색…


통사론

  • LocalTime time = LocalTime.now (); // 현재 시스템 시계로 초기화합니다.
  • LocalTime time = LocalTime.MIDNIGHT; // 00:00
  • LocalTime time = LocalTime.NOON; // 12:00
  • LocalTime 시간 = LocalTime.of (12, 12, 45); // 12:12:45

매개 변수

방법 산출
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 12:00
LocalTime.now() 시스템 클록의 현재 시간
LocalTime.MAX 지원되는 현지 시간의 최대치 23 : 59 : 59.999999999
LocalTime.MIN 지원되는 현지 시간 최소 00:00
LocalTime.ofSecondOfDay(84399) 23:59:59, 2 일 값에서 시간 확보
LocalTime.ofNanoOfDay(2000000000) 00:00:02, 하루의 가치에서 시간을 얻음

비고

클래스 이름에서 알 수 있듯이 LocalTime 은 표준 시간대가없는 시간을 나타냅니다. 그것은 날짜를 나타내지 않습니다. 그것은 주어진 시간 동안 단순한 레이블입니다.

클래스는 값 기반이며 비교를 수행 할 때 equals 메서드를 사용해야합니다.

이 클래스는 java.time 패키지에 있습니다.

시간 수정

시간, 분, 초 및 나노초를 추가 할 수 있습니다.

LocalTime time = LocalTime.now();
LocalTime addHours = time.plusHours(5); // Add 5 hours
LocaLTime addMinutes = time.plusMinutes(15) // Add 15 minutes
LocalTime addSeconds = time.plusSeconds(30) // Add 30 seconds
LocalTime addNanoseconds = time.plusNanos(150_000_000) // Add 150.000.000ns (150ms)

시간대 및 시간차

import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;

public class Test {
    public static void main(String[] args)
    {
            ZoneId zone1 = ZoneId.of("Europe/Berlin");
            ZoneId zone2 = ZoneId.of("Brazil/East");

            LocalTime now = LocalTime.now();
            LocalTime now1 = LocalTime.now(zone1);
            LocalTime now2 = LocalTime.now(zone2);
            
            System.out.println("Current Time : " + now);
            System.out.println("Berlin Time : " + now1);
            System.out.println("Brazil Time : " + now2);
            
            long minutesBetween = ChronoUnit.MINUTES.between(now2, now1);
            System.out.println("Minutes Between Berlin and Brazil : " + minutesBetween +"mins");          
    }
}

두 LocalTime 사이의 시간

LocalTime 사이의 시간 단위를 계산하는 두 가지 동일한 방법이 있습니다. (1) ~ until(Temporal, TemporalUnit) 메소드와 (2) TemporalUnit.between(Temporal, Temporal) 입니다.

import java.time.LocalTime;
import java.time.temporal.ChronoUnit;

public class AmountOfTime {

    public static void main(String[] args) {

        LocalTime start = LocalTime.of(1, 0, 0); // hour, minute, second
        LocalTime end = LocalTime.of(2, 10, 20); // hour, minute, second
        
        long halfDays1 = start.until(end, ChronoUnit.HALF_DAYS); // 0
        long halfDays2 = ChronoUnit.HALF_DAYS.between(start, end); // 0
        
        long hours1 = start.until(end, ChronoUnit.HOURS); // 1
        long hours2 = ChronoUnit.HOURS.between(start, end); // 1
        
        long minutes1 = start.until(end, ChronoUnit.MINUTES); // 70
        long minutes2 = ChronoUnit.MINUTES.between(start, end); // 70
        
        long seconds1 = start.until(end, ChronoUnit.SECONDS); // 4220
        long seconds2 = ChronoUnit.SECONDS.between(start, end); // 4220
        
        long millisecs1 = start.until(end, ChronoUnit.MILLIS); // 4220000
        long millisecs2 = ChronoUnit.MILLIS.between(start, end); // 4220000

        long microsecs1 = start.until(end, ChronoUnit.MICROS); // 4220000000
        long microsecs2 = ChronoUnit.MICROS.between(start, end); // 4220000000

        long nanosecs1 = start.until(end, ChronoUnit.NANOS); // 4220000000000
        long nanosecs2 = ChronoUnit.NANOS.between(start, end); // 4220000000000
        
        // Using others ChronoUnit will be thrown UnsupportedTemporalTypeException.
        // The following methods are examples thereof.
        long days1 = start.until(end, ChronoUnit.DAYS); 
        long days2 = ChronoUnit.DAYS.between(start, end); 
    }
}

소개

LocalTime은 시간을 나타내는 데 사용되는 불변의 클래스이며 스레드로부터 안전합니다. 종종 hour-min-sec로 표시됩니다. 시간은 나노초 정밀도로 표시됩니다. 예를 들어, 값 "13 : 45.30.123456789"는 LocalTime에 저장 될 수 있습니다.

이 클래스는 날짜 또는 시간대를 저장하거나 나타내지 않습니다. 대신 벽시계에서 볼 수있는 현지 시간에 대한 설명입니다. 오프셋이나 시간대와 같은 추가 정보없이 타임 라인에서 순간을 나타낼 수 없습니다. 이것은 값 기반 클래스이며 equals 메서드는 비교에 사용해야합니다.

전지

MAX - 지원되는 최대 LocalTime, '23 : 59 : 59.999999999 '. 미드 나이트, 미온, 정오

중요한 정적 메소드

now (), now (시계 클럭), now (zoneId zone), parse (CharSequence text)

중요한 인스턴스 메소드

isAfter (LocalTime other), isBefore (LocalTime other), 빼기 (TemporalAmount amountToSubtract), 빼기 (long amountToSubtract, TemporalUnit 단위), 더하기 (TemporalAmount amountToAdd), 더하기 (long amountToAdd, TemporalUnit 단위)

ZoneId zone = ZoneId.of("Asia/Kolkata");
LocalTime now = LocalTime.now();
LocalTime now1 = LocalTime.now(zone);
LocalTime then = LocalTime.parse("04:16:40");

시간의 차이는 다음과 같은 방법으로 계산할 수 있습니다.

long timeDiff = Duration.between(now, now1).toMinutes();
long timeDiff1 = java.time.temporal.ChronoUnit.MINUTES.between(now2, now1);

LocalTime의 개체에서 시간, 분 또는 초를 더하거나 뺄 수 있습니다.

minusNanos (long nanosToSubtract), minusSeconds (long secondsToSubtract), plusHours (long hoursToSubtract), plusMinutes (long hoursToMinutes), PlusNanos (long nanosToSubtract), PlusSeconds (long secondsToSubtract)

now.plusHours(1L);
now1.minusMinutes(20L);


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow