1. LocalTimeclasse

La LocalTimeclasse a été créée pour les cas où vous devez travailler avec le temps mais sans date. Par exemple, supposons que vous écriviez une application de réveil. Vous vous souciez de l'heure, mais pas de la date.

La LocalTimeclasse est très similaire à la LocalDateclasse - ses objets ne peuvent pas non plus être modifiés après la création.

Obtenir l'heure actuelle

Pour créer un nouvel LocalTimeobjet, vous devez utiliser la now()méthode statique. Exemple:

LocalTime time = LocalTime.now();

timeest une LocalTimevariable et est un appel à la méthode statique de la classe.LocalTime.now()now()LocalTime

Exemple:

Code Sortie console
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

Le point est suivi du nombre actuel de nanosecondes.

2. Obtenir une heure précise

Pour obtenir une heure précise, vous devez utiliser la of()méthode statique. Exemple:

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

Vous passez dans les heures, les minutes, les secondes et les nanosecondes.

Exemple:

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

Soit dit en passant, il existe deux autres variantes de cette méthode:

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

et

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

Vous pouvez donc utiliser celui qui vous convient le mieux.

Obtenir un temps basé sur l'indice d'une seconde

Vous pouvez également obtenir l'heure par l'indice d'une seconde dans une journée. Pour ce faire, nous avons la ofSecondOfDay()méthode statique :

LocalTime time = LocalTime.ofSecondOfDay(seconds);

secondes est le nombre de secondes depuis le début de la journée.

Exemple:

Code Sortie console
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Oui, 10 000 secondes, c'est un peu moins de trois heures. Tout est correct.

3. Obtenir des éléments de temps

Pour obtenir la valeur d'un élément de temps spécifique à partir d'un LocalTimeobjet, nous avons ces méthodes :

Méthode Description
int getHour()
Renvoie les heures
int getMinute()
Renvoie les minutes
int getSecond()
Renvoie les secondes
int getNano()
Renvoie les nanosecondes

Exemple:

Code Sortie console
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. Changer l'heure d'un LocalTimeobjet

La LocalTimeclasse a également des méthodes qui vous permettent de travailler avec le temps. L'implémentation de ces méthodes est analogue aux méthodes de la LocalDateclasse : elles ne modifient pas l' LocalTimeobjet existant, mais en renvoient un nouveau avec les données souhaitées.

Voici les méthodes de la LocalTimeclasse :

Méthode Description
plusHours(int hours)
Ajoute des heures
plusMinutes(int minutes)
Ajoute des minutes
plusSeconds(int seconds)
Ajoute des secondes
plusNanos(int nanos)
Ajoute des nanosecondes
minusHours(int hours)
Soustrait des heures
minusMinutes(int minutes)
Soustrait des minutes
minusSeconds(int seconds)
Soustrait des secondes
minusNanos(int nanos)
Soustrait des nanosecondes

Exemple:

Code Sortie console
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

Notez que dans chaque cas, nous obtenons une nouvelle heure relative à l' timeobjet d'origine. Si vous ajoutez 3600 secondsà un temps, alors vous ajoutez exactement 1hour.