Ajouter n heures à une date en Java? – crypto investissement

Carte de paiement Crypto

Demandez votre Carte de paiement Crypto ici

Recevez 8 € de BTC gratuitement

Inscrivez-vous à CoinBase









Actualité cryptomonnaie


myJavaUtilDate.toInstant ()
              .plusHours (8)

Ou…

myJavaUtilDate.toInstant () // Convertit une classe héritée en classe moderne, un `Instant`, un point de la timeline en temps UTC avec une résolution en nanosecondes.
              .plus (// Faites le calcul, en ajoutant un laps de temps à notre moment, notre `Instant`.
                  Duration.ofHours (8) // Spécifie une période de temps non attachée à la timeline.
               ) // Retourne un autre `Instant`. L'utilisation d'objets immuables crée une nouvelle instance tout en laissant l'original intact.

Le framework java.time intégré à Java 8 et ultérieur supplante les anciennes classes Java.util.Date/.Calendar. Ces anciennes classes sont notoirement gênantes. Évite-les.

Utilisez le toInstant Méthode récemment ajoutée à java.util.Date pour convertir l'ancien type en nouveau type java.time. Un Instant est un moment sur la ligne du temps en temps UTC avec une résolution de nanosecondes.

Instant instant = myUtilDate.toInstant ();

Vous pouvez ajouter des heures à cela Instant en passant un TemporalAmount tel que Durée.

Durée durée = Durée.heures (8);
Instant instantHourLater = instant.plus (durée);

Pour lire cette date et heure, générez une chaîne au format ISO 8601 en appelant toString.

Sortie de chaîne = instantHourLater.toString ();

Vous voudrez peut-être voir ce moment à travers l’objectif de l’horloge murale de certaines régions. Ajuste le Instant dans votre fuseau horaire souhaité / attendu en créant un ZonedDateTime.

ZoneId zoneId = ZoneId.of ("America / Montreal");
ZonedDateTime zdt = ZonedDateTime.ofInstant (instant, zoneId);

Alternativement, vous pouvez appeler plusHeures pour ajouter votre nombre d'heures. Être zoné signifie que l'heure d'été (DST) et d'autres anomalies seront traitées en votre nom.

ZonedDateTime later = zdt.plusHours (8);

Vous devez éviter d’utiliser les anciennes classes date-heure, y compris java.util.Date et .Calendrier. Mais si vous avez vraiment besoin d'un java.util.Date pour l'interopérabilité avec les classes non encore mises à jour pour les types java.time, convertissez depuis ZonedDateTime via Instant. De nouvelles méthodes ajoutées aux anciennes classes facilitent la conversion vers / depuis les types java.time.

java.util.Date date = java.util.Date.from (later.toInstant ());

Pour plus d'informations sur la conversion, voir ma réponse à la question, Convertissez java.util.Date en quel type «java.time»?.


le java.time Le cadre est intégré à Java 8 et aux versions ultérieures. Ces classes supplantent les anciennes classes ennuyeuses de date-heure, telles que java.util.Date, CalendrierEt SimpleDateFormat.

le Joda-Time project, maintenant en mode de maintenance, conseille la migration vers les classes java.time.

Pour en savoir plus, voir la Tutoriel Oracle. Et recherchez Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310.

Vous pouvez échanger java.time objets directement avec votre base de données. Utilisez un pilote JDBC compatible avec JDBC 4.2 ou version ultérieure. Pas besoin de ficelles, pas besoin de java.sql. * Des classes.

Où obtenir les classes java.time?

le Trois Dix Extra projet étend java.time avec des classes supplémentaires. Ce projet est un terrain d’essai pour d’éventuels ajouts à java.time. Vous pouvez trouver ici des cours utiles tels que Intervalle, Année de la semaine, YearQuarter, et plus.



Traduit depuis https://stackoverflow.com/questions/3581258/adding-n-hours-to-a-date-in-java

Carte de paiement Crypto

Demandez votre Carte de paiement Crypto ici

Recevez 8 € de BTC gratuitement


Inscrivez-vous à CoinBase