[python] Calcul des mois et des années de différence de date / heure

Motivé

Lors de l'ajout ou de la soustraction du type datetime, le type timedelta est renvoyé, mais il n'a que des attributs plus fins que le jour, et j'ai été recherché sur Google à chaque fois lors du calcul du mois ou de l'année. Je vais donc le résumer.

code

-Générer une nouvelle date en ajustant la date et le nombre de mois (utiliser relativedelta * timedelta ne peut pas gérer les mois) -Calculer le nombre de mois et d'années de la différence entre deux dates (utilisez monthmod)

#Créer la date et l'heure de début avec le type datetime-----------
from datetime import datetime
dt1 = datetime(2018,5,6)  # datetime.datetime(2018, 5, 6, 0, 0)

#Générez une nouvelle date en ajoutant n'importe quel nombre de mois et de jours à la date et à l'heure de début-----------
from dateutil.relativedelta import relativedelta
dt2 = start + relativedelta(months=20, days=25)  # datetime.datetime(2020, 1, 31, 0, 0)

#Trouvez la différence entre deux dates au quotidien-----------
dt_dif = (dt2 - dt1)  # datetime.timedelta(days=635)
print(dt_dif.days)  # 635
# print(dt_dif.months)  #Sera une erreur

#La différence entre les deux dates, mensuellement/Calculer sur une base annuelle-----------
from monthdelta import monthmod  #Si vous obtenez une erreur, installez MonthDelta
mmod = monthmod(dt1, dt2)  # (monthdelta(20), datetime.timedelta(days=25)) <-Taple (comme une liste)

##Différence mensuelle (arrondissez le reste)
print(mmod[0].months)  # 20

##Différence annuelle (arrondissez le reste) Divisez la différence mensuelle par 12. Il y a plusieurs jours dans le mois, mais comme le nombre de mois dans l'année est toujours de 12, c'est correct
print(mmod[0].months//12)  # 1

référence

https://pythonhosted.org/MonthDelta/

Recommended Posts

[python] Calcul des mois et des années de différence de date / heure
Gérer les "années et mois" en Python
Calcul du nombre d'années écoulées et du nombre de mois écoulés y compris hors-année
Calcul de l'écart type et du coefficient de corrélation en Python
Différence entre Ruby et Python en termes de variables
Récapitulatif du traitement de la date en Python (datetime et dateutil)
Différence entre list () et [] en Python
Conversion de la chaîne <-> date (date, datetime) en Python
différence entre les instructions (instructions) et les expressions (expressions) en Python
Différence entre @classmethod et @staticmethod en Python
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
Projet Euler # 1 "Multiple de 3 et 5" en Python
[python] Différence entre variable et self. Variable dans la classe
À propos de la différence entre "==" et "is" en python
Projet Euler # 6 "Différence de somme des carrés" en Python
Explication de la distance d'édition et de l'implémentation en Python
[Python] Type de classe et utilisation du module datetime
Calculer la date avec python
Calculer les dates en Python
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Traitement pleine largeur et demi-largeur des données CSV en Python
[Astuces] Calcul des différences de premier ordre et conversion inverse [python / numpy]
Différence entre return, return None et no return description en Python
Démarrer le calcul numérique avec Python (avec Homebrew et pip)
Exemple d'obtention du nom du module et du nom de la classe en Python
[Python] Types de valeurs statistiques (caractéristiques) et méthodes de calcul
[Python] Explique la différence entre strftime et strptime dans le module datetime avec un exemple
Trouver des erreurs en Python
Calcul de la valeur de jeu de cisaillement en Python
Jugement d'équivalence d'objet en Python
À propos de la date et du fuseau horaire Python
Pile et file d'attente en Python
Unittest et CI en Python
Implémentation du tri rapide en Python
Installation source et installation de Python
[Python] Fonctionnalisation de la formule de Heron et calcul de la surface maximale
Module Python num2words Différence de comportement entre l'anglais et le russe
Méthode de concaténation de liste en python, différence entre list.extend () et opérateur «+»
Ordre de référence des variables de classe et des variables d'instance dans "self. Variables de classe" en Python
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire
[Python] Forces et faiblesses de DataFrame en termes de temps requis
[Astuces] Problèmes et solutions dans le développement de python + kivy
Construction d'environnement de python et opencv
Différence entre Ruby et Python Split
Manipulation des pixels d'image en Python
Différence entre java et python (mémo)
Paquets qui gèrent le MIDI avec Python midi et pretty_midi
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Afficher les photos en Python et html
Algorithme de tri et implémentation en Python
Différence de comportement du cadre transparent réalisé avec tkinter dans pyinstaller [Python]
Diviser timedelta dans la série Python 2.7
Manipuler des fichiers et des dossiers en Python
Échappement automatique des paramètres MySQL en python
À propos de Python et Cython dtype