Szukaj…


Składnia

  • LocalTime time = LocalTime.now (); // Inicjuje się z bieżącym zegarem systemowym
  • Czas lokalny = czas lokalny.MIDNOC; // 00:00
  • Czas lokalny = czas lokalny.NOON; // 12:00
  • Czas lokalny = czas lokalny.of (12, 12, 45); // 12:12:45

Parametry

metoda Wynik
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 12:00
LocalTime.now() Aktualny czas z zegara systemowego
LocalTime.MAX Maksymalny obsługiwany czas lokalny 23: 59: 59,999999999
LocalTime.MIN Minimalny obsługiwany czas lokalny 00:00
LocalTime.ofSecondOfDay(84399) 23:59:59, Uzyskuje czas od wartości z drugiego dnia
LocalTime.ofNanoOfDay(2000000000) 00:00:02, Uzyskuje czas na podstawie wartości nanos dnia

Uwagi

Jak wskazuje nazwa klasy, LocalTime reprezentuje czas bez strefy czasowej. To nie reprezentuje daty. To prosta etykieta na dany czas.

Klasa opiera się na wartościach i podczas porównywania należy stosować metodę equals .

Ta klasa pochodzi z pakietu java.time.

Modyfikacja czasu

Możesz dodać godziny, minuty, sekundy i nanosekundy:

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)

Strefy czasowe i ich różnica czasu

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");          
    }
}

Czas między dwoma LocalTime

Istnieją dwa równoważne sposoby obliczania jednostki czasu między dwiema LocalTime : (1) until(Temporal, TemporalUnit) metody until(Temporal, TemporalUnit) i poprzez (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); 
    }
}

Wprowadzenie

LocalTime jest niezmienną klasą i bezpieczną dla wątków, używaną do reprezentowania czasu, często postrzeganą jako godzina-minuta-sekunda. Czas jest reprezentowany z dokładnością do nanosekund. Na przykład wartość „13: 45.30.123456789” można zapisać w czasie lokalnym.

Ta klasa nie przechowuje ani nie reprezentuje daty ani strefy czasowej. Zamiast tego jest to opis czasu lokalnego widocznego na zegarze ściennym. Nie może reprezentować chwili na linii czasu bez dodatkowych informacji, takich jak przesunięcie lub strefa czasowa. Jest to klasa oparta na wartościach, do porównań należy stosować metodę równości.

Pola

MAX - maksymalny obsługiwany czas lokalny, „23: 59: 59.999999999”. MIDNIGHT, MIN, NOON

Ważne metody statyczne

now (), teraz (Zegar), teraz (ZoneId zone), parsuj (tekst CharSequence)

Ważne metody instancji

isAfter (LocalTime other), isBefore (LocalTime other), minus (TemporalAmount kwotaToSubtract), minus (długa kwotaToSubtract, TemporalUnit jednostka), plus (TemporalAmount kwotaToAdd), plus (długa kwotaToAdd, jednostka TemporalUnit)

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

Różnicę czasu można obliczyć na jeden z poniższych sposobów

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

Możesz także dodawać / odejmować godziny, minuty lub sekundy od dowolnego obiektu LocalTime.

minusHours (długie godzinyToSubtract), minusMinutes (długie godzinyToMinutes), minusNanos (długie nanosToSubtract), minusSeconds (długie sekundyToSubtract), plusHours (długie godzinyToSubtract), plusMinutes (długie godzinyToMinutes), plusNanos (długie nanosToSubtract)

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow