Skip to main content

Date et Heure

Date and Time Variables in Python

Python fournit des modules intégrés qui vous permettent de travailler avec des valeurs de date et d'heure dans différents formats. Le module DateTime est l'un des plus populaires pour gérer les objets de date et d'heure, y compris les fuseaux horaires, les différences de temps et l'arithmétique temporelle. Le module offre également un large éventail d'options de formatage pour afficher les dates et les heures de différentes manières. De plus, le module Time de Python fournit des fonctions pour travailler avec des valeurs temporelles, telles que l'obtention de l'heure actuelle, la mesure du temps écoulé et la définition de délais d'attente. Comprendre comment travailler avec les valeurs de date et d'heure est essentiel pour de nombreuses tâches de programmation, y compris la planification, l'analyse de données et la gestion de bases de données.

Variables de Date et d'Heure dans Python

Python dispose de plusieurs modules intégrés pour travailler avec les dates et les heures. Voici certains des plus couramment utilisés :

  1. module datetime : Le module datetime de Python fournit des classes pour travailler avec les dates et les heures. Il comprend des classes telles que datetime, date, time et timedelta qui peuvent être utilisées pour représenter et manipuler des dates, des heures et des durées.

  2. module time : Ce module fournit des fonctions pour travailler avec des fonctions liées au temps, telles que l'obtention de l'heure actuelle, l'attente d'une certaine quantité de temps et la conversion entre représentations temporelles.

  3. module calendar : Ce module fournit des fonctions pour travailler avec des calendriers, telles que l'obtention du nombre de jours dans un mois, la détermination du jour de la semaine pour une date donnée et le formatage des dates de diverses manières.

  4. module dateutil : Ce module fournit des fonctionnalités supplémentaires pour travailler avec les dates et les heures, y compris l'analyse des dates et des heures à partir de chaînes, la gestion des fuseaux horaires et la réalisation d'arithmétique avec les dates et les heures.

Date dans Python

Dans Python, le module date n'est pas un module autonome. Cependant, le module datetime fournit une classe date qui vous permet de travailler spécifiquement avec les dates (sans considérer le temps).

Voici un exemple d'utilisation de la classe date pour travailler avec des dates dans Python :

from datetime import date

# Create a date object for May 22, 2023
my_date = date(2023, 5, 22)

# Access individual components of the date
year = my_date.year
month = my_date.month
day = my_date.day

print(year, month, day)

Le Module Calendrier

Le module calendar en Python offre des fonctions pour travailler avec des calendriers. Il vous permet de générer des calendriers pour un mois ou une année spécifique et fournit des méthodes pour manipuler ces calendriers.

Voici un exemple de comment utiliser le module calendar :

import calendar

# Print the calendar for the current month
print(calendar.month(2023, 5))

# Print the calendar for the entire year
print(calendar.calendar(2023))

# Check if a year is a leap year
print(calendar.isleap(2023))

# Get the first weekday of a month
print(calendar.monthrange(2023, 5))

La fonction month() retourne une chaîne formatée représentant le calendrier pour l'année et le mois donnés. La fonction calendar() retourne une chaîne multi-lignes représentant le calendrier pour toute l'année. La fonction isleap() retourne True si l'année donnée est bissextile, et False autrement. La fonction monthrange() retourne un tuple contenant le premier jour de la semaine du mois et le nombre de jours dans le mois.

Vous pouvez utiliser ces fonctions pour générer des instances de calendar et les manipuler selon vos besoins dans vos applications Python.

Le Module Dateutil de Python

Le module dateutil est un module tiers en Python qui fournit diverses utilités pour travailler avec les dates et les heures. Il étend la fonctionnalité fournie par le module intégré datetime et rend le travail avec les dates et les heures en Python plus facile.

Voici quelques exemples de ce que vous pouvez faire avec le module dateutil :

from dateutil import parser
from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, DAILY

# Parse a string and convert it to a datetime object
date_string = 'May 15, 2023'
date = parser.parse(date_string)

# Add or subtract time from a datetime object
new_date = date + relativedelta(months=1)

# Generate a sequence of dates using rrule
dates = rrule(DAILY, count=7, dtstart=date)

# Iterate over the sequence of dates
for d in dates:
    print(d)

La méthode parser.parse() est utilisée pour analyser une représentation sous forme de chaîne de caractères d'une date ou d'une heure et la convertir en un objet datetime. La classe relativedelta est utilisée pour ajouter ou soustraire une certaine quantité de temps à partir d'un objet datetime. La fonction rrule() est utilisée pour générer une séquence de dates selon un ensemble de règles spécifiées par l'utilisateur.

Le module dateutil offre également de nombreuses autres fonctionnalités utiles telles que le support des fuseaux horaires, l'analyse des dates et des heures relatives, et le travail avec des intervalles de temps.

Comment convertir un Objet Date en un Objet Datetime

En Python, vous pouvez convertir un objet date en un objet datetime en utilisant la méthode datetime.combine(). Cette méthode vous permet de combiner l'objet date avec un objet time séparé pour créer un nouvel objet datetime. Voici un exemple :

from datetime import date, datetime, time

# Create a date object
my_date = date(2023, 5, 22)

# Create a time object
my_time = time(14, 30, 0)

# Combine date and time to create a datetime object
my_datetime = datetime.combine(my_date, my_time)

print(my_datetime)  # Output: 2023-05-22 14:30:00

Conversion de Chaîne en Date en Python

Pour analyser une date à partir d'une chaîne en Python, vous pouvez utiliser la fonction datetime.strptime() du module datetime. La fonction strptime() vous permet d'analyser une chaîne représentant une date et une heure selon un format spécifié.

Voici un exemple de comment créer une date à partir d'une chaîne en Python :

from datetime import datetime

date_string = "2023-05-22"

# Parse the date string
parsed_date = datetime.strptime(date_string, "%Y-%m-%d").date()

print(parsed_date)

Vous pouvez personnaliser le code de format en fonction de la structure de votre chaîne de date. Par exemple, si votre chaîne de date est au format "22/05/2023", vous utiliseriez le format %d/%m/%Y dans strptime().

En analysant la date à partir d'une chaîne, vous pouvez la convertir en un objet date et travailler avec en utilisant les méthodes et attributs disponibles dans le module datetime de Python.

Conversion de Date en Chaîne

Pour convertir un objet date en chaîne en Python, vous pouvez utiliser la méthode strftime() du module datetime. La méthode strftime() vous permet de formater un objet date en une représentation en chaîne selon un format spécifié.

Voici un exemple de conversion d'un objet date en chaîne :

from datetime import date

my_date = date(2023, 5, 22)

# Convert date to string
date_string = my_date.strftime("%Y-%m-%d")

print(date_string)

Comment obtenir la date actuelle à partir du module Datetime en Python

Pour obtenir la date d'aujourd'hui en Python, vous pouvez utiliser la classe date du module datetime avec la méthode today().

Voici un exemple pour obtenir la date d'aujourd'hui :

from datetime import date

# Get today's date
today = date.today()

print(today)  # Output: 2023-05-22

Conversion d'un Timestamp en Objet Date

Pour convertir un timestamp en objet date en Python, vous pouvez utiliser la méthode fromtimestamp() de la classe date du module datetime.

Voici un exemple de conversion d'un timestamp en objet date :

from datetime import date

timestamp = 1621687200  # Example timestamp value

# Convert timestamp to date
converted_date = date.fromtimestamp(timestamp)

print(converted_date)  # Output: 2021-05-23

Comment générer une date en Python

Pour générer une date en Python, vous pouvez utiliser la classe date du module datetime. La classe date vous permet de créer un objet date représentant une date spécifique.

Voici quelques exemples de génération de dates en Python :

Générer la date d'aujourd'hui :

from datetime import date

today = date.today()
print(today)  # Output: Current date in the format YYYY-MM-DD

Générer une date spécifique :

from datetime import date

my_date = date(2023, 5, 22)
print(my_date)  # Output: 2023-05-22

Comment obtenir la date d'hier

Pour obtenir la date représentant hier en Python, vous pouvez utiliser la classe date du module datetime avec la classe timedelta. La classe timedelta vous permet de représenter une durée ou une différence dans le temps.

Voici un exemple pour obtenir la date d'hier :

from datetime import date, timedelta

# Get today's date
today = date.today()

# Calculate yesterday's date
yesterday = today - timedelta(days=1)

print(yesterday)  # Output: Date representing yesterday

Une fonction de date

En Python, la fonction date fait partie du module datetime et est utilisée pour créer des objets date qui représentent des dates sans aucun composant horaire.

Voici un exemple d'utilisation de la fonction date pour créer un objet date :

from datetime import date

my_date = date(2023, 5, 22)

print(my_date)  # Output: 2023-05-22

Comment obtenir le nombre de mois entre deux dates

Il n'existe pas de fonction ou de méthode spéciale pour le calcul du nombre de mois.

Voici un exemple de calcul du nombre de mois entre deux dates à l'aide de formules simples :

from datetime import date

# Define the start and end dates
start_date = date(2022, 3, 15)
end_date = date(2023, 8, 22)

# Calculate the number of months
months = (end_date.year - start_date.year) * 12 + (end_date.month - start_date.month)

print(months)  # Output: 17

Contribuez avec nous!

N'hésitez pas à contribuer aux tutoriels Python sur GitHub : créez un fork, mettez à jour le contenu et émettez une pull request.

Profile picture for user almargit
Python developer, content manager.
Profile picture for user AliaksandrSumich
Aliaksandr Sumichcontributeur
Mise à jour : 03/05/2024 - 22:50
Profile picture for user angarsky
Examiné et approuvé