Python Datetime : un guide complet avec des exemples

Python Datetime : un guide complet avec des exemples

Lorsque vous travaillez avec des projets de données en Python, vous êtes le plus susceptible d'utiliser des fonctions datetime. Presque tous les ensembles de données avec lesquels vous travaillerez auront une colonne datetime que vous voudrez manipuler en fonction de vos besoins et des exigences du projet.

Heureusement, Python est livré avec son propre module intégré nommé datetime qui vous permet de représenter, de manipuler et d'effectuer des opérations avec des instances datetime telles que des dates, des heures et des combinaisons des deux. La maîtrise du module Python datetime vous aidera à effectuer des analyses de séries chronologiques plus robustes dans vos projets.

Le module Python datetime est un outil de gestion des dates, des heures et des intervalles de temps. Il vous permet d'effectuer diverses opérations sur les dates et les heures de manière simple.

Python Datetime : un guide complet avec des exemples

Résumé de programmation - code source et code binaire affichés par le développeur du logiciel. Thème noir avec syntaxe colorée.

En utilisant le module datetime dans Python , vous pouvez facilement travailler avec des valeurs de date et d'heure, gérer des fuseaux horaires, effectuer des calculs et même gérer le formatage et l'analyse pour diverses représentations. Cette fonctionnalité fait du module datetime un outil essentiel dans de nombreuses applications, du traitement des données à la planification d'événements et au-delà.

Avant de commencer à utiliser le module datetime de Python dans vos projets, il est crucial de comprendre ses classes sous-jacentes. Dans la section ci-dessous, nous examinerons les cinq classes principales du module DateTime de Python. Allons-y !

Table des matières

Quelles sont les 5 classes principales du module Python Datetime ?

Le module Python Datetime fait partie de la bibliothèque standard qui fournit des classes pour manipuler et travailler avec des dates, des heures, des fuseaux horaires et des durées.

Le module se compose de cinq classes principales :

  1. Dateheure

  2. Date,

  3. Temps,

  4. Timedelta

  5. Fuseau horaire.

    Nous examinerons chaque classe suivie d'un exemple de cas d'utilisation pour vous aider à mieux comprendre le concept.

Comment utiliser la classe Datetime

La classe Python Datetime est la classe la plus couramment utilisée dans le module. Il représente un point unique dans le temps avec des attributs tels que l'année, le mois, le jour, l'heure, la minute, la seconde et la microseconde.

Certaines opérations courantes avec la classe Python Datetime incluent :

  • dateheure.dateheure.maintenant()

Cette fonction vous permet d'obtenir la date et l'heure actuelles. Voici un exemple de récupération de la date et de l'heure actuelles :

import datetime

# Get the current date and time
now = datetime.datetime.now()

print("Current date and time: ", now)

Cela affichera la date et l'heure actuelles au moment de l'exécution au format AAAA-MM-JJ HH:MM:SS.ssssss.

Python Datetime : un guide complet avec des exemples

  • dateheure.dateheure

Cette fonction vous permet de créer un objet date et heure personnalisé. Voici un exemple d'utilisation de datetime.datetime dans votre code :

from datetime import date

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

print("Custom date and time: ", custom_date)

En plus des fonctions ci-dessus, la classe Datetime fournit également des méthodes pour travailler avec la date et l'heure telles que :

Python Datetime : un guide complet avec des exemples

  • strftime() :

La méthode vous permet de formater les objets date et heure sous forme de chaîne. Voici un exemple de méthode strftime() :

import datetime

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

# Format the datetime object as a string
formatted_date = custom_date.strftime("%B %d, %Y, %H:%M")

print("Formatted date and time: ", formatted_date)

Ce code convertira l'objet datetime en chaîne :

Python Datetime : un guide complet avec des exemples

  • strptime() :

Cette fonction de la classe datetime vous permet d'analyser une chaîne représentant des objets date et heure dans un seul objet Datetime. Voici un exemple d'analyse d'une date stockée sous forme de chaîne dans un objet Datetime :

import datetime

# String representing a date and time
date_string = "May 22, 2023, 17:40"

# Parse the string into a datetime object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y, %H:%M")

print("Parsed date and time: ", parsed_date)

Cela convertira la chaîne en un objet DateTime.

Python Datetime : un guide complet avec des exemples

Comment utiliser la classe de date

La classe Date vous permet de traiter exclusivement des objets de date (année, mois et jour). Vous pouvez créer des objets de date avec la classe de date.

Certaines opérations courantes avec la classe Date incluent :

  • dateheure.date.aujourd'hui()

Cette fonction dans la classe date vous permet d'obtenir la date actuelle. Voici un exemple de récupération de la date actuelle avec la classe de date :

import datetime

# Get the current date
today = datetime.date.today()

print("Today's date: ", today)

Ce code Python affichera la date actuelle au moment de l'exécution au format AAAA-MM-JJ.

Python Datetime : un guide complet avec des exemples

Au moment de la rédaction de cet article, la date actuelle était le 2023-05-22.

  • dateheure.date()

Cette fonction de la classe date vous permet de créer des objets date. L'exemple illustre la création d'un objet de date personnalisé avec la fonction datetime.date() :

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

print("Custom date: ", custom_date)

Dans la fonction datetime.date(), vous fournissez l'année, le mois et le jour comme arguments.

Ce script affichera le 2023-05-22, car vous avez créé un objet de date personnalisé pour la date du 22 mai 2023.

Python Datetime : un guide complet avec des exemples

La classe Date fournit également des méthodes utiles, telles que :

  • jour de la semaine()

This method in the date class returns the day of the week (0 for Monday, 1 for Tuesday, etc.). The following example demonstrates the weekday() method:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Get the day of the week
day_of_week = custom_date.weekday()

print("Day of the week: ", day_of_week)

In this example, custom_date.weekday() will return 0 because May 22, 2023, falls on a Monday.

Python Datetime : un guide complet avec des exemples

  • strftime()

This method in the date class allows you to format the date object as a string. The following example demonstrates strftime() function:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Format the date object as a string
formatted_date = custom_date.strftime("%B %d, %Y")

print("Formatted date: ", formatted_date)

This will output the date formatted as “Month day, Year”.

Python Datetime : un guide complet avec des exemples

  • strptime()

This method allows you to parse a string representing a date into a Date object. The following is an example of converting a string date into a Date object:

import datetime

# String representing a date
date_string = "May 22, 2023"

# Parse the string into a date object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y").date()

print("Parsed date: ", parsed_date)

This will output the date object created from the date string.

Python Datetime : un guide complet avec des exemples

How to Use the Time Class

The Time class allows you to work with time instances (hour, minute, second, microsecond). With the time class, you can create a custom time object with datetime.time().

The following example demonstrates creating a custom time object:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

print("Custom time: ", custom_time)

In the datetime.time() function, you provide the hour and minute as arguments.

This script will output 17:40:00, as specified in the Python code.

Python Datetime : un guide complet avec des exemples

The Time class provides useful methods, such as:

  • strftime()

This method allows you to format the time object as a string. Below is an example of this function:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

# Format the time object as a string
formatted_time = custom_time.strftime("%H:%M")

print("Formatted time: ", formatted_time)

This will output the local time formatted as “Hour:Minute”.

Python Datetime : un guide complet avec des exemples

  • strptime()

This function allows you to parse a string representing time into a Time object. The following example demonstrates this function:

from datetime import time

# String representing a time
time_string = "17:40"

# Parse the string into a time object
parsed_time = datetime.datetime.strptime(time_string, "%H:%M").time()

print("Parsed time: ", parsed_time)

This will output the time objects created from the time string.

Python Datetime : un guide complet avec des exemples

How to Use The Timedelta Class

The Timedelta class allows you to represent represents a duration or difference between two dates or times.

With Timedelta class, you can perform the following operations:

  • Calculate the difference between two dates or times

An example of calculating the difference between two dates is given below:

 import datetime

# Create two custom date objects
date1 = datetime.date(2023, 5, 22)
date2 = datetime.date(2023, 6, 1)

# Calculate the difference between the two dates
date_difference = date2 - date1

print("Difference between the dates is: ", date_difference.days, "days")

In this example, date_difference is a timedelta object representing the difference between date2 and date1. The .days property gives the number of days between the two dates.

Python Datetime : un guide complet avec des exemples

  • Add or subtract a duration to a date or time

An example of adding a duration to a date is given below:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Create a duration of 10 days
duration = datetime.timedelta(days=10)

# Add the duration to the date
new_date = custom_date + duration

print("New date: ", new_date)

In this example, duration is a timedelta object representing a duration of 10 days. We use the + operator to add this duration to custom_date.

Python Datetime : un guide complet avec des exemples

How to Use the Timezone Class

The Timezone class allows you to handle time zones and daylight saving time adjustments.

You can perform the following operation with timezone class:

  • Create a timezone object

To create a timezone object, you can use the datetime.timezone() function. The following example demonstrates creating a timezone object:

import datetime

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

print("Timezone object: ", two_hours_ahead)

In this example, two_hours_ahead is a timezone object representing a timezone that is 2 hours ahead of Coordinated Universal Time (UTC).

This script will output a timezone object like .

Python Datetime : un guide complet avec des exemples

  • Object with a specific timezone

To achieve this, you can use the .replace(tzinfo=tz) function. The following example demonstrates this function:

import datetime

# Create a naive datetime object
naive_datetime = datetime.datetime(2023, 5, 22, 17, 40)

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

# Convert the naive datetime object to an aware object
aware_datetime = naive_datetime.replace(tzinfo=two_hours_ahead)

print("Aware datetime object: ", aware_datetime)

In this example, naive_datetime is a datetime object that does not have any timezone information. The two_hours_ahead variable is a timezone object representing a timezone that is 2 hours ahead of UTC.

The replace(tzinfo=two_hours_ahead) method is used to create a new datetime object with the same date and time as naive_datetime, but with tzinfo set to two_hours_ahead.

Python Datetime : un guide complet avec des exemples

The Timezone helps you maintain accurate and consistent time values when working with data that spans multiple time zones.

You have gone through some of the most important functions in the datetime module in Python. In the next section we will implement some of the above functions to a case studywhich will give you a practical look into the implementation of these datetime module in your projects.

Implementing the DateTime Module Functions to a Case Study

Let’s consider a case study where we are given a dataset of different events that happened around the world. The dataset has corresponding dates and times in a string format.

Notre tâche consiste à transformer ces dates et heures en objets DateTime et à effectuer des opérations sur ceux-ci selon les besoins.

Supposons que l'on nous donne le jeu de données suivant :

Python Datetime : un guide complet avec des exemples

Si nous vérifions les types de données de la variable, nous verrons que la date et l'heure sont stockées sous forme de chaîne. Par conséquent, avant d'effectuer toute analyse, nous devons convertir les colonnes de date et d'heure dans un format approprié.

Pour ce faire, nous pouvons utiliser le code suivant :

import datetime

# Convert 'Date' and 'Time' strings into datetime objects
df['DateTime'] = df['Date'] + ' ' + df['Time']
df['DateTime'] = df['DateTime'].apply(lambda x: datetime.datetime.strptime(x, "%b %d, %Y %H:%M"))

print(df)

Dans ce bloc de code, nous créons d'abord une nouvelle colonne 'DateTime' dans votre DataFrame en concaténant les colonnes 'Date' et 'Time'. Ensuite, nous appliquons la fonction datetime.strptime à chaque valeur de cette nouvelle colonne pour convertir les chaînes de date et d'heure en objets datetime. Enfin, nous imprimons le DataFrame pour voir le résultat.

Python Datetime : un guide complet avec des exemples

La prochaine chose que nous aimerions faire est de calculer la différence entre deux événements. Pour ce faire, nous pouvons utiliser le code suivant :

duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)

Ce script Python calculera la durée entre 'Event1' et 'Event2'.

Python Datetime : un guide complet avec des exemples

Enfin, convertissons les objets datetime dans un fuseau horaire différent. Quand peut-on y parvenir en utilisant les fonctions de fuseau horaire dans le module datetime.

# Create a timezone object for UTC
utc_tz = datetime.timezone(datetime.timedelta(0))

# Convert the datetime objects into UTC
df['DateTime_UTC'] = df['DateTime'].apply(lambda x: x.replace(tzinfo=utc_tz))

print(df)

Dans ce code, nous créons un objet fuseau horaire pour UTC. Ensuite, nous créons une nouvelle colonne dans notre DataFrame nommée 'DateTime_UTC' en appliquant une fonction lambda à notre colonne 'DateTime'. Cela remplacera les informations de fuseau horaire de chaque objet datetime par UTC.

Python Datetime : un guide complet avec des exemples

Grâce à l'exemple d'étude de cas ci-dessus, vous voyez comment les différentes fonctions fournies par le module DateTime fonctionnent ensemble pour manipuler les dates et les heures dans un format approprié.

Maintenant que vous êtes familiarisé avec certaines des fonctions du module datetime, allons de l'avant et examinons quelques fonctions supplémentaires que vous voudrez utiliser lorsque vous entreprenez des projets plus complexes.

Outre les fonctions répertoriées ci-dessus, il existe de nombreuses autres fonctions utiles que vous pouvez utiliser en fonction du problème à résoudre. Les développeurs Python gardent souvent une page de documentation ouverte pour rechercher des fonctions pouvant répondre à vos besoins. Et nous vous suggérons de faire de même !

Fonctions supplémentaires de date et d'heure

Dans cette section, nous aborderons les fonctions supplémentaires du module datetime de Python . Cela inclut la récupération des jours de la semaine, des noms de mois et des jours de la semaine, ainsi que la fonction ctime() .

Comment récupérer les jours de la semaine à partir d'une date

Le module datetime est livré avec une fonction weekday() , qui renvoie le jour de la semaine sous forme d'entier (où lundi est 0 et dimanche est 6).

Pour utiliser cette fonction, vous pouvez l'appeler sur un objet date ou datetime.

import datetime

today = datetime.date.today()
weekday_number = today.weekday()

print(weekday_number)

La sortie du code ci-dessus est donnée dans l'image ci-dessous :

Python Datetime : un guide complet avec des exemples

La date locale actuelle est le 23/05/2023 et le jour de la semaine est le lundi.

Comment récupérer les noms de mois et de jours de la semaine à partir d'une date

datetime permet également de récupérer le nom du mois et le jour de la semaine.

Vous pouvez utiliser la fonction strftime() , qui formate un objet date ou datetime sous forme de chaîne.

Voici un exemple d'utilisation de la fonction strftime() pour obtenir le nom du mois et le jour de la semaine :

import datetime

today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')

print(weekday_name)
print(month_name)

Ce code imprimera le nom du jour de la semaine et le nom du mois dans la sortie.

Python Datetime : un guide complet avec des exemples

Comment utiliser la fonction Ctime

La fonction ctime() du module datetime renvoie une représentation sous forme de chaîne d'un objet date ou datetime, au format « Day Mon DD HH:MM:SS YYYY ».

ctime est une méthode pour un objet datetime , pas une fonction autonome.

Voici un exemple d'utilisation de la fonction ctime dans votre code :

import datetime

now = datetime.datetime.now()
formatted_date = now.ctime()

print(formatted_date)

Le code ci-dessus renverra une représentation sous forme de chaîne de l'objet date.

Python Datetime : un guide complet avec des exemples

Pour en savoir plus sur l'utilisation des données de séries chronologiques, regardez la vidéo suivante :

Dernières pensées

En tant que programmeur Python, il est important de maîtriser le module datetime. C'est une boîte à outils qui vous permet de gérer les dates, les heures et les intervalles de temps. Ce sont les éléments que vous rencontrerez fréquemment dans les données du monde réel.

Vous aurez besoin de ce module pour convertir des chaînes en objets datetime, gérer les conversions de fuseau horaire et effectuer des opérations sur les dates et les heures.

En apprenant à utiliser le module datetime, vous serez mieux préparé à gérer ces tâches dans vos propres projets !


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir