1 - A propos du module datetime Python
En Python, la date et l'heure ne sont pas un type de données en soi, mais un module nommé datetime peut être importé pour fonctionner avec la date ainsi que l'heure. Le module Datetime est intégré à Python, il n'est donc pas nécessaire de l'installer en externe.
Le module Datetime fournit des classes pour travailler avec la date et l'heure. Ces classes fournissent un certain nombre de fonctions pour gérer les dates, les heures et les intervalles de temps. La date et l'heure sont un objet en Python, donc lorsque vous les manipulez, vous manipulez en fait des objets et non des chaînes ou des horodatages.
2 - Les classes associées au module datetime
Les classes datetime sont classées en 6 classes principales:
- date - Une date naïve idéalisée. Ses attributs sont l'année, le mois et le jour.
- time - Un temps idéalisé, indépendant de tout jour particulier, en supposant que chaque jour a exactement 24 * 60 * 60 secondes. Ses attributs sont heure, minute, seconde, microseconde.
- datetime - C'est une combinaison de date et d'heure avec les attributs année, mois, jour, heure, minute, seconde, microseconde et tzinfo.
- timedelta - Durée exprimant la différence entre deux instances de date, d'heure ou de datetime à une résolution en microsecondes.
- tzinfo - Il fournit des objets d'information de fuseau horaire.
- timezone - Une classe qui implémente la classe de base abstraite tzinfo comme un décalage fixe par rapport à l'UTC.
3 - La classe date
Lorsqu'un objet de cette classe est instancié, il représente une date au format AAAA-MM-JJ. Le constructeur de cette classe a besoin de trois arguments obligatoires année, mois et date.
Syntaxe du constructeur:
Exemple
Remarque
Une date non valide, génère une erreur vous indiquant que la date est non valide. Exemple si vous mettez la valeur day = 35, vous obtenez : builtins.ValueError: day is out of range for month
Date actuelle
Pour retourner la date actuelle, on utilise la fonction today () de la classe date. La fonction today() est livrée avec plusieurs attributs (année, mois et jour):
Exemple
4 - Les méthodes associées à la classe date
Les différentes fonctions disponibles dans la classe de date sont:
- fromtimestamp (timestamp) : retourne la date locale correspondant à l'horodatage POSIX
- fromordinal (ordinal) : renvoie la date correspondant à l'ordinal grégorien proleptique, où le 1er janvier de l'année 1 a l'ordinal 1.
- fromisoformat (date_string) : retourne une date correspondant à une date_string donnée au format AAAA-MM-JJ:
- fromisocalendar (année, semaine, jour) : renvoie une date correspondant à la date du calendrier ISO spécifiée par année, semaine et jour.
5 - La classe Tzinfo
Il s'agit d'une classe de base abstraite, ce qui signifie que cette classe ne doit pas être instanciée directement. Une instance de (une sous-classe concrète de) tzinfo peut être transmise aux constructeurs pour les objets datetime et time. Ces derniers objets voient leurs attributs comme étant dans l'heure locale, et l'objet tzinfo prend en charge les méthodes révélant le décalage de l'heure locale par rapport à UTC, le nom du fuseau horaire et le décalage DST, le tout par rapport à un objet de date ou d'heure qui leur est transmis.
6 - La classe timezone (classe de fuseau horaire)
La classe de fuseau horaire timezone est une sous-classe de tzinfo, dont chaque instance représente un fuseau horaire défini par un décalage fixe par rapport à l'UTC.
Syntaxe du constructeur:
L'argument offset doit être spécifié comme un objet timedelta représentant la différence entre l'heure locale et UTC.
Remarque
ValueError sera générée si le décalage ne se trouve pas dans l'intervalle timedelta (heures = 24).
7 - La classe time
La classe time représente l'heure locale, indépendamment de n'importe quel jour.
Syntaxe du constructeur:
timeObject = datetime.time (heure = 0, minute = 0, seconde = 0, microseconde = 0, tzinfo = None, *, fold = 0)
Rrmarque
Tous les arguments dans l'instanciation timeObject = datetime.time(....), sont facultatifs!
Exemple
Ce qui affiche après exécution:
temps choisi : 17:15:45
minute choisie 00:35:00
heure choisie : 10:00:00
aucun paramètre choisi : 00:00:00
Exemple: décomposer un objet time en: heures , minutes, secondes
8 - La classe datetime
Cette classes contient les informations concernant la date et l'heure.
Syntaxe du constructeur:
Exemple
Ce qui affiche à la sortie:
2018-11-25 00:00:00
2018-11-25 11:20:45.214150
Exemple: décomposition de l'objet datetime en année, mois, jour, heure...
Ce qui affiche à la sortie:
Année : 2018
mois : 11
jour : 25
heure : 11
minute = 20
Secondes : 45
Date et heure actuelles
La méthode now() de l'objet datetime, renvoie la date et l'heure locales actuelles. Pour obtenir la date et l'heure actuelles, on utilise la fonction now().
Sortie:
Date & heure actuels : 2020-04-15 12:41:43.573886
On peut aussi obtenir la date et heure actuelle d'une façon décomposée en accédant aux méthodes : year, month , day, hour, ... de l'objet datetime:
Exemple
Ce qui affiche après exécution:
Année actuelle : 2020
mois actuel : 4
jour actuel : 15
heure actuelle : 12
minute actuelle : 47
Seconde actuelle : 39
Younes Derfoufi
CRMEF OUJDA