1. LocalTimeklass

Klassen LocalTimeskapades för fall där du behöver arbeta med tid men utan datum. Anta till exempel att du skriver en väckarklockaapplikation. Du bryr dig om tiden, men inte datumet.

Klassen LocalTimeär mycket lik klassen LocalDate— dess objekt kan inte heller ändras efter att den skapats.

Hämtar aktuell tid

För att skapa ett nytt LocalTimeobjekt måste du använda den statiska now()metoden. Exempel:

LocalTime time = LocalTime.now();

Where timeär en LocalTimevariabel och är ett anrop till klassens statiska metod .LocalTime.now()now()LocalTime

Exempel:

Koda Konsolutgång
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

Punkten följs av det aktuella antalet nanosekunder.

2. Få en specifik tid

För att få en specifik tid måste du använda den statiska of()metoden. Exempel:

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

Du passerar på timmar, minuter, sekunder och nanosekunder.

Exempel:

Koda Konsolutgång
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

Förresten, det finns ytterligare två varianter av denna metod:

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

och

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

Så du kan använda det som passar dig bäst.

Få en tid baserat på indexet för en sekund

Du kan också få tiden som index för en sekund på en dag. För att göra detta har vi den statiska ofSecondOfDay()metoden:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

Där sekunder är antalet sekunder sedan dagens början.

Exempel:

Koda Konsolutgång
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Ja, 10 000 sekunder är lite mindre än tre timmar. Allt är korrekt.

3. Få inslag av tid

För att få värdet av ett specifikt tidselement från ett LocalTimeobjekt har vi dessa metoder:

Metod Beskrivning
int getHour()
Returnerar timmarna
int getMinute()
Returnerar minuterna
int getSecond()
Returnerar sekunderna
int getNano()
Returnerar nanosekunderna

Exempel:

Koda Konsolutgång
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

4. Ändra tiden i ett LocalTimeobjekt

Klassen LocalTimehar också metoder som låter dig arbeta med tid. Implementeringen av dessa metoder är analog med metoderna i klassen LocalDate: de ändrar inte det befintliga LocalTimeobjektet, utan returnerar istället ett nytt med önskad data.

Här är klassens metoder LocalTime:

Metod Beskrivning
plusHours(int hours)
Lägger till timmar
plusMinutes(int minutes)
Lägger till minuter
plusSeconds(int seconds)
Lägger till sekunder
plusNanos(int nanos)
Lägger till nanosekunder
minusHours(int hours)
Subtraherar timmar
minusMinutes(int minutes)
Subtraherar minuter
minusSeconds(int seconds)
Subtraherar sekunder
minusNanos(int nanos)
Subtraherar nanosekunder

Exempel:

Koda Konsolutgång
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

Observera att vi i varje fall får en ny tid som är relativ till det ursprungliga timeobjektet. Om du lägger 3600 secondstill en tid, så lägger du till exakt 1hour.