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

Rendement des capitaux propres Ratio financier dans QuickBooks - mannequins

Rendement des capitaux propres Ratio financier dans QuickBooks - mannequins

Le ratio du rendement financier de capitaux propres exprime le résultat net d'une entreprise comme un pourcentage de ses capitaux propres ou de ses capitaux propres. (Les capitaux propres des actionnaires et du propriétaire sont la même chose.) La formule, qui est faussement simple, est la suivante: revenu net / capitaux propres Supposons qu'une entreprise a un revenu net égal à 50 000 $ et que le propriétaire ...

Comment définir les factures et les préférences de calendrier dans QuickBooks 2017 - les nuls

Comment définir les factures et les préférences de calendrier dans QuickBooks 2017 - les nuls

L'onglet Mes préférences du La boîte de dialogue Préférences de comptabilité dans QuickBooks 2017 offre une seule option: vous pouvez indiquer à QuickBooks que vous souhaitez qu'il remplisse automatiquement les informations lors de l'enregistrement d'une entrée de journal générale. La définition des factures et des préférences de calendrier peut vous aider à effectuer un travail de comptabilité plus rapide. Définition des préférences de factures Si vous affichez ...

Risque et QuickBooks 2013 - mannequins

Risque et QuickBooks 2013 - mannequins

Risque est un problème même avec des investissements simples comme les CD de banque. Mais avec des investissements en capital, aucune agence gouvernementale ne cherche votre intérêt et ramasse les morceaux si les choses font un Humpty Dumpty et viennent s'écrouler. La budgétisation des immobilisations et la gestion des risques ne sont pas directement liées à l'utilisation de QuickBooks. À certains égards, le capital ...

Le choix des éditeurs

A + certification tout-en-un pour les nuls triche - mannequins

A + certification tout-en-un pour les nuls triche - mannequins

La certification A + Tous -in-One For Dummies en ligne vous donne des faits à retenir le jour du test pour vous aider à répondre aux questions des examens de certification A +. Avant les examens A +, vous souhaiterez passer en revue certains des principaux concepts de Windows, tels que les fichiers de démarrage, les outils de récupération, les types RAID et les utilitaires de dépannage. Vous ...

Données Les contrôles de sécurité - les nuls

Données Les contrôles de sécurité - les nuls

Actifs sensibles, y compris les données, doivent être protégés de manière appropriée tout au long de leur cycle de vie. En tant que professionnel de la sécurité, c'est votre travail. La gestion du cycle de vie de l'information (ILM) couvre les données à travers les cinq étapes suivantes: Création. Les données sont créées par un utilisateur final ou une application. Les données doivent être classées en fonction de la criticité et de la sensibilité des ...

Examinant l'examen CISSP - les mannequins

Examinant l'examen CISSP - les mannequins

L'examen de certification du professionnel certifié en sécurité des systèmes d'information (CISSP) est un examen exténuant de 6 heures, Marathon de 250 questions. Pour mettre cela en perspective, dans 6 heures, vous pourriez marcher environ 25 miles, regarder un film Kevin Costner 1-1 / 2 fois, ou chanter "My Way" 540 fois sur une machine de karaoké. Chacun de ces exploits se rapproche ...

Le choix des éditeurs

Le When in Data Journalism - les nuls

Le When in Data Journalism - les nuls

Comme le dit le vieil adage, le timing est tout. C'est une compétence précieuse de savoir comment remettre à neuf les anciennes données afin qu'elles soient intéressantes pour un lectorat moderne. De même, en journalisme de données, il est impératif de garder un œil sur la pertinence contextuelle et de savoir quand est le moment optimal pour élaborer et publier une histoire particulière. Quand ...

Traditionnelle et Advanced Analytics pour le Big Data - les nuls

Traditionnelle et Advanced Analytics pour le Big Data - les nuls

Que fait maintenant votre entreprise avec toutes les données ses formes? Le Big Data nécessite de nombreuses approches d'analyse, traditionnelles ou avancées, en fonction du problème à résoudre. Certaines analyses utiliseront un entrepôt de données traditionnel, tandis que d'autres analyses tireront parti de l'analyse prédictive avancée. La gestion holistique des données volumineuses nécessite de nombreuses ...

Formation, validation et test dans l'apprentissage automatique - les nuls

Formation, validation et test dans l'apprentissage automatique - les nuls

Dans un monde parfait, vous pouvez effectuer un test sur des données que votre algorithme d'apprentissage automatique n'a jamais appris auparavant. Cependant, attendre de nouvelles données n'est pas toujours réalisable en termes de temps et de coûts. En tant que premier remède simple, vous pouvez diviser vos données de manière aléatoire en ensembles de formation et de test. La division commune est ...