Sök…


Syntax

  • LocalTime time = LocalTime.now (); // Initierar med aktuell systemklocka
  • LocalTime time = LocalTime.MIDNIGHT; // 00:00
  • LocalTime time = LocalTime.NOON; // 12:00
  • LocalTime time = LocalTime.of (12, 12, 45); // 12:12:45

parametrar

Metod Produktion
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 00:00
LocalTime.now() Aktuell tid från systemklocka
LocalTime.MAX Den maximala stödda lokala tiden 23: 59: 59.999999999
LocalTime.MIN Minsta stödjande lokal tid 00:00
LocalTime.ofSecondOfDay(84399) 23:59:59, Erhåller tid från andra dagsvärdet
LocalTime.ofNanoOfDay(2000000000) 00:00:02, Erhåller tid från dagens värde

Anmärkningar

Som LocalTime representerar LocalTime en tid utan en tidszon. Det representerar inte ett datum. Det är en enkel etikett under en viss tid.

Klassen är värdebaserad och metoden equals bör användas när man gör jämförelser.

Denna klass kommer från paketet java.time.

Tidsändring

Du kan lägga till timmar, minuter, sekunder och nanosekunder:

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)

Tidszoner och deras tidsskillnad

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

Mängd tid mellan två LocalTime

Det finns två ekvivalenta sätt att beräkna mängden tidsenhet mellan två LocalTime : (1) until(Temporal, TemporalUnit) -metoden och genom (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); 
    }
}

Intro

LocalTime är en immutable klass och tråd-säker, används för att representera tid, ofta ses som timme-min-sek. Tiden representeras till nanosekundens precision. Till exempel kan värdet "13: 45.30.123456789" lagras i en LocalTime.

Denna klass lagrar inte eller representerar ett datum eller en tidszon. Istället är det en beskrivning av lokal tid sett på en väggklocka. Det kan inte representera ett ögonblick på tidslinjen utan ytterligare information såsom en förskjutning eller tidszon. Detta är en värdebaserad klass, lika metod bör användas för jämförelser.

Fields

MAX - Maximalt stöd för LocalTime, '23: 59: 59.999999999 '. MIDNIGHT, MIN, NOON

Viktiga statiska metoder

nu (), nu (Klockaklocka), nu (ZoneId-zon), analysera (CharSequence-text)

Viktiga instansmetoder

isAfter (LocalTime other), isFore (LocalTime other), minus (TemporalAmount amountToSubtract), minus (long amountToSubtract, TemporalUnit-enhet), plus (TemporalAmount amountToAdd), plus (long amountToAdd, TemporalUnit-enhet)

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

Skillnaden i tid kan beräknas på något av följande sätt

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

Du kan också lägga till / subtrahera timmar, minuter eller sekunder från alla objekt i LocalTime.

minusHours (long hoursToSubtract), minusMinutes (long hoursToMinutes), minusNanos (long nanosToSubtract), minusSeconds (long secondsToSubtract), plusHours (long hoursToSubtract), plusMinutes (long hoursToMinutes), plusNanos (longSractTracts)

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow