CodeGym /Java Course /Module 1 /Moderne benadering van werken met tijd

Moderne benadering van werken met tijd

Module 1
Niveau 27 , Les 3
Beschikbaar

1. LocalTimeklasse

De LocalTimeklasse is gemaakt voor gevallen waarin u met tijd moet werken maar zonder datum. Stel dat u een wekkertoepassing schrijft. U geeft om de tijd, maar niet om de datum.

De LocalTimeklasse lijkt erg op de LocalDateklasse - de objecten ervan kunnen evenmin na creatie worden gewijzigd.

De huidige tijd ophalen

Om een ​​nieuw LocalTimeobject te maken, moet u de statische now()methode gebruiken. Voorbeeld:

LocalTime time = LocalTime.now();

Waar timeis een LocalTimevariabele en is een aanroep naar de statische methode van de klasse.LocalTime.now()now()LocalTime

Voorbeeld:

Code Console-uitvoer
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

De punt wordt gevolgd door het huidige aantal nanoseconden.

2. Een specifieke tijd krijgen

of()Om een ​​specifieke tijd te krijgen, moet u de statische methode gebruiken . Voorbeeld:

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

Je passeert in de uren, minuten, seconden en nanoseconden.

Voorbeeld:

Code Console-uitvoer
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

Overigens zijn er nog twee varianten van deze methode:

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

En

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

Je kunt dus gebruiken wat voor jou handiger is.

Een tijd krijgen op basis van de index van een seconde

U kunt de tijd ook krijgen door de index van een seconde op een dag. Om dit te doen, hebben we de statische ofSecondOfDay()methode:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

Waarbij seconden het aantal seconden is sinds het begin van de dag.

Voorbeeld:

Code Console-uitvoer
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Ja, 10.000 seconden is iets minder dan drie uur. Het klopt allemaal.

3. Elementen van tijd krijgen

Om de waarde van een specifiek tijdselement van een LocalTimeobject te krijgen, hebben we deze methoden:

Methode Beschrijving
int getHour()
Retourneert de uren
int getMinute()
Retourneert de minuten
int getSecond()
Retourneert de seconden
int getNano()
Retourneert de nanoseconden

Voorbeeld:

Code Console-uitvoer
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

LocalTime4. De tijd in een object wijzigen

De LocalTimeklas heeft ook methoden waarmee je met tijd kunt werken. De implementatie van deze methoden is analoog aan de methoden van de LocalDateklasse: ze wijzigen het bestaande LocalTimeobject niet, maar retourneren in plaats daarvan een nieuw object met de gewenste gegevens.

Dit zijn de methodes van de LocalTimeklasse:

Methode Beschrijving
plusHours(int hours)
Voegt uren toe
plusMinutes(int minutes)
Voegt minuten toe
plusSeconds(int seconds)
Voegt seconden toe
plusNanos(int nanos)
Voegt nanoseconden toe
minusHours(int hours)
Trekt uren af
minusMinutes(int minutes)
Trekt minuten af
minusSeconds(int seconds)
Trekt seconden af
minusNanos(int nanos)
Trekt nanoseconden af

Voorbeeld:

Code Console-uitvoer
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

Merk op dat we in elk geval een nieuwe tijd krijgen die relatief is ten opzichte van het oorspronkelijke timeobject. Als je 3600 secondsbij een tijd optelt, dan tel je precies op 1hour.


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