Accueil Finances personnelles Comment ajouter ou soustraire des dates en Java - des nuls

Comment ajouter ou soustraire des dates en Java - des nuls

Vidéo: Additionner ou soustraire une date 2025

Vidéo: Additionner ou soustraire une date 2025
Anonim

Tout comme vous ne pouvez pas utiliser les opérateurs de comparaison intégrés de Java avec des dates, vous ne pouvez pas non plus utiliser d'opérateurs mathématiques intégrés. Au lieu de cela, vous pouvez effectuer l'addition et la soustraction sur les dates en utilisant les méthodes plus et moins , et vous pouvez déterminer la différence entre deux dates en utilisant la méthode jusqu'à .

Un fait important à prendre en compte lors des calculs de date et d'heure est que les objets date-heure sont immuables. Cela signifie qu'une fois que vous créez un objet date-heure, vous ne pouvez pas modifier sa valeur. Lorsque vous effectuez un calcul sur un objet date-heure, le résultat est un nouvel objet date-heure avec une nouvelle valeur.

Les méthodes plus et moins vous permettent d'ajouter différentes unités de date et d'heure à un objet date-heure. Il existe quatre variantes pour chacune des classes LocalDate , ce qui vous permet d'ajouter ou de soustraire des années, des mois, des semaines et des jours à un objet LocalDate . Le code suivant imprime la date actuelle, la date de demain et la date une semaine, un mois et un an à partir de maintenant:

Système. en dehors. println ("Aujourd'hui:" + LocalDate. now ());

Système. en dehors. println ("Demain:" + LocalDate. now (). plusDays (1));

Système. en dehors. println ("La semaine prochaine:" + LocalDate. now (). plusWeeks (1));

Système. en dehors. println ("Mois suivant:" + LocalDate maintenant (). plusMonths (1));

Système. en dehors. println ("Année suivante:" + LocalDate. now (). plusYears (1));

Pour déterminer la différence entre deux dates, utilisez la méthode jusqu'à . Il calcule la différence entre une date et la date passée en tant que premier paramètre, mesurée dans les unités indiquées par le deuxième paramètre. Par exemple, le code suivant détermine le nombre de jours entre le 16 mai 2014 et le 15 décembre 2014:

LocalDate date1 = DateDate. analyser ("2014-05-16");

LocalDate date2 = DateDate. analyser ("2014-12-15");

Système. en dehors. println (date1 jusqu'à (date2, ChronoUnit.DAYS));

Certains calculs de date peuvent être un peu plus complexes. Par exemple, considérons une entreprise qui prépare des factures le 15 de chaque mois. L'extrait de code suivant affiche le nombre de jours entre la date actuelle et la date de facturation suivante:

LocalDate today = LocalDate. à présent();

LocalDate invDate = LocalDate. de (aujourd'hui, getYear (),

aujourd'hui. getMonthValue (), 15);

if (aujourd'hui, getDayOfMonth ()> 15)

invDate = invDate. plusMonths (1);

long daysToInvoice = aujourd'hui. jusqu'à (invDate,

ChronoUnit. DAYS);

Système. en dehors. println (daysToInvoice

+ "jusqu'à la prochaine date de facturation.");

Cet exemple fonctionne en obtenant d'abord la date actuelle, puis en créant un nouvel objet LocalDate représentant le 15 du mois en cours. Ensuite, si le jour actuel du mois est supérieur à 15, il ajoute un mois à la date de facturation. En d'autres termes, si c'est le 16e ou plus tard, la facturation a lieu le 15 du mois suivant, pas ce mois-ci. Ensuite, il utilise la méthode jusqu'à pour déterminer le nombre de jours entre la date actuelle et la prochaine date de facturation.

ChronoUnit est une énumération qui définit les différentes unités de temps pouvant être utilisées dans les calculs de date et d'heure. Les valeurs possibles sont:

SIÈCLES

JOURS

DÉCENNIES

ERAS

POUR TOUJOURS

DEMI-JOURS

HEURES

MICROS

MILLENNIA

MILLIS

MINUTES

MOIS

NANOS

SECONDS

SEMAINES

ANNÉES

La plupart d'entre elles sont explicites, mais deux d'entre elles sont un peu particulières:

  • ERA indique si la date se réfère à l'ère commune (CE, également connu comme AD) ou avant l'ère (BCE, également connu sous le nom de BC).
  • FOREVER représente la plus grande valeur pouvant être représentée comme une durée. Malheureusement, Java ne vous laissera pas vivre pour toujours. Le code suivant lève une exception:

LocalDate birthday = LocalDate. analyser ("1959-05-16);

anniversaire = anniversaire. plus (1, ChronoUnit FOREVER);

Notez que ChronoUni t est dans le java. temps. paquetage temporal , veillez donc à inclure l'instruction suivante en haut de tout programme utilisant ChronoUnit :

import java. temps. temporel. *;

Comment ajouter ou soustraire des dates en Java - des nuls

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...