CodeGym /Kurser /All lectures for SV purposes /Modernt förhÄllningssÀtt till att arbeta med tid

Modernt förhÄllningssÀtt till att arbeta med tid

All lectures for SV purposes
NivÄ , Lektion
TillgÀngliga

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.


Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION