Maison  >  Article  >  Java  >  Java DécalageDateTime

Java DécalageDateTime

WBOY
WBOYoriginal
2024-08-30 15:51:45357parcourir

OffsetDateTime est introduit dans Java8 pour stocker les champs de données et d'heure avec plus d'exactitude et de précision, ce qui est utile lors du transfert de données à partir de différents supports. Ces champs stockent les valeurs DateTime avec une précision allant jusqu'à la nanoseconde ; de plus, ces champs ont un décalage par rapport à UTC/Greenwich. Il s'agit d'une représentation immuable d'une date-heure avec un décalage. Cette classe appartient à Java. Package Time et a java.lang.Object comme superclasse. L'ajout d'un décalage par rapport à UTC/Greenwich nous permet également d'obtenir la date-heure locale. Il s'avère donc être le meilleur lors de la communication avec des bases de données ou sur un réseau.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe :

Vous trouverez ci-dessous la syntaxe de la classe OffsetDateTime qui est membre de Java. Classe de temps.

public final class OffsetDateTime extends Object implements Serializable, Temporal, TemporalAdjuster, Comparable<OffsetDateTime>

Interfaces de Java OffsetDateTime

Cette classe hérite de la classe Object du package java. Avec cela, il implémente également de nombreuses interfaces ci-dessous :

1. Sérialisable

Il s'agit d'une interface de marqueur qui ne contient aucune méthode. L'implémentation de cette interface permet d'indiquer à Java qu'OffsetDateTime prend en charge la sérialisation et la désérialisation, ce qui signifie que ses objets peuvent être facilement convertis en flux d'octets. En outre, les flux d'octets peuvent être convertis en objets Java réels.

2. Temporel

C'est une interface au niveau du framework pour définir l'accès en lecture-écriture pour ses Objets. OffsetDateTime utilise cette interface pour la rendre suffisamment complète pour les manipulations plus-moins.

3. Ajusteur temporel

Cette interface fournit des outils pour modifier les objets Temporels, comme par exemple ajuster la date qui doit être fixée au dernier jour du mois. La mise en œuvre de cette interface permet à OffsetDateTime de l'ajuster en externe selon le modèle de conception de l'entreprise.

4. Comparable

Cette interface permet d'ordonner les objets de la classe en fonction d'un de ses champs. Pour cela, il donne une fonction comapreTo(Object) qui permet de trier les objets. Ainsi les objets OffsetDateTime peuvent être rapidement triés à l'aide de cette fonction.
OffsetDateTime, ZonedDateTime et Instant sont des classes Java8 qui permettent de stocker des instants de temps avec une précision allant jusqu'à la nanoseconde indiquée ci-dessous :

  • Instantané : C'est le plus simple des trois. La classe OffsetDateTime ajoute le décalage de UTC/Greenwich à l'instant, ce qui permet d'obtenir la date-heure locale. La classe zonedDateTime ajoute des règles de fuseau horaire complet.
  • ZonedDateTime : Il est plus simple à utiliser et est entièrement compatible avec l'heure d'été, ce qui facilite grandement les ajustements à l'heure d'été. Il utilise un décalage horaire local du système de calendrier ISO-8601.
  • OffsetDateTime : Cette classe est similaire à ZonedDateTime mais utilise le décalage par rapport à UTC/Greenwich dans le système de calendrier ISO-8601. Il s'agit principalement de la méthode de communication privilégiée lorsqu'il s'agit de bases de données et de réseaux.

Cette classe n'a pas de constructeurs accessibles ; c'est définitif et immuable. Ainsi (==), l'utilisation du hashcode d'identité sur ses objets est interdite. Un tel type de classe est également appelé classe basée sur des valeurs. Ainsi, la méthode .equals() est préférée pour les comparaisons de telles classes. Par exemple, la valeur stockée dans OffsetDateTime peut être représentée par « 2 octobre 2007 à 13 :45.30.123456789 +02:00″.

Champs :

Field Name Description
MAX It is a static field of OffsetDateTime type, which stores the maximum supported value that is.

‘+999999999-12-31T23:59:59.999999999-18:00’

MIN It is a static field of OffsetDateTime type, which stores the maximum supported value that is.

‘-999999999-01-01T00:00:00+18:00’

Nom du champ Description MAX Il s'agit d'un champ statique de type OffsetDateTime, qui stocke la valeur maximale prise en charge. '+999999999-12-31T23:59:59.999999999-18:00' MIN Il s'agit d'un champ statique de type OffsetDateTime, qui stocke la valeur maximale prise en charge. '-999999999-01-01T00:00:00+18:00'

Methods of Java OffsetDateTime

Let’s see some of the Java OffsetDateTime methods.

1. int get(TemporalField field)

It is used to get the int value from a date-time field.

2. int getDayOfMonth()

You can use this function to retrieve the numerical value of the day in a given month, and it will return a value between – 1 to 31.

Code:

import java.time.OffsetDateTime;
public class Demo {
public static void main(String[] args) {
OffsetDateTime mydate = OffsetDateTime.parse("2020-01-26T12:30:30+01:00");
System.out.println("DayOfMonth output - "+mydate.getDayOfMonth());
}
}

Output:

Java DécalageDateTime

3. int getDayOfYear()

This function gives the day of the year field from the value specified. Its output is an integer within the range of 1 to 365.

Code:

import java.time.OffsetDateTime;
public class HelloWorld{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("DayOfYear output - "+mydate.getDayOfYear());
}
}

Output:

Java DécalageDateTime

4. DayOfWeek getDayOfWeek()

This function returns an enum of DayOfWeek to tell which day of the week is specified. Enum consists of int value and the names of the week that help avoid confusion about what the number represents.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("DayOfWeek output - "+ mydate.getDayOfWeek());
}
}

Output:

Java DécalageDateTime

5. OffsetDateTime minusDays(long days)

This function returns the OffsetDateTime object after subtracting the specified number of days from it.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("minusDays output - "+ mydate.minusDays(2)); } }

Output:

Java DécalageDateTime

6. Static OffsetDateTime now()

This function returns the current date-time from the system clock in the time zone. Return type if OffsetDateTime only.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("now output - "+ mydate.now());
}
}

Output:

Java DécalageDateTime

7. OffsetDateTime plusDays(long days)

This function returns the OffsetDateTime object after adding the specified number of days to it.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("plusDays output - "+ mydate.plusDays(5)); } }

Output:

Java DécalageDateTime

8. LocalDate toLocalDate()

This function returns the LocalDate part of date-time.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("toLocalDate output - "+ mydate.toLocalDate());
}
}

Output:

Java DécalageDateTime

9. Offset toOffsetTime()

This function helps to convert date-time to Offset Time.

 Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("toOffsetTime output - "+ mydate.toOffsetTime());
}
}

Output:

Java DécalageDateTime

10. ZonedDateTime toZonedDateTime()

This function helps convert the object to ZonedDateTime type, a fully DST-aware date-time representation that handles daylight saving conversion much easier.

Code:

import java.time.OffsetDateTime;
public class Main{
public static void main(String []args){
OffsetDateTime mydate = OffsetDateTime.parse("2020-02-26T12:30:30+01:00");
System.out.println("toZonedDateTime output - "+ mydate.toZonedDateTime());
}
}

Output:

Java DécalageDateTime

Conclusion

The OffsetDateTime class introduces the storage of date-time fields with precision up to nanoseconds. It utilizes an offset of UTC/Greenwich in the ISO calendar system. These options find the highest preference when working with databases or transferring data over the network. It supports many functions to extract different information in different formats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Date locale JavaArticle suivant:Date locale Java