Une nécessité courante dans de nombreuses applications de programmation concerne la gestion des dates et des heures. Python dispose d'outils et de packages puissants qui simplifient la gestion des conversions de date et d'heure. Cet article examinera comment manipuler et formater efficacement les valeurs de date et d'heure dans Python en convertissant Chaînes vers Datetime objets et retour. Nous couvrirons l'article en deux parties :
- Python Convertir une chaîne en DateTime
- Python Convertir DateHeure en Chaîne
Comment convertir une chaîne en DateTime ?
En Python, les utilisateurs peuvent parfois saisir une date sous forme de chaîne, ce qui nous empêche d'effectuer des opérations date-heure dessus. Les opérations telles que le décalage horaire, la comparaison de dates, l'utilisation des fuseaux horaires, etc. ne peuvent pas être effectuées sur des dates de chaîne.
algorithme de Kruskal
Voyons le processus de conversion de chaînes en dates avec deux méthodes.
Input: Dec 4 2018 10:07 AM Output: 2018-12-04 10:07:00 Explanation: In this, we are converting the string to Date Time.>
1. Convertissez la chaîne en Datetime à l'aide de Datetime.Strptime()
Le Strptime() est disponible dans le dateheure module et est utilisé pour la conversion Date-Heure. Cette fonction modifie le donné chaîne de Datetime dans le format souhaité.
Exemple: Le programme définit une fonction qui convertit la date et l'heure représentées sous forme de chaîne vers une date/heure objet en utilisant le format souhaité. La conversion est effectuée à l'aide de la méthode datetime.strptime().
Python3
import> datetime> > # Function to convert string to datetime> def> convert(date_time):> >format> => '%b %d %Y %I:%M%p'> >datetime_str>=> datetime.datetime.strptime(date_time,>format>)> > >return> datetime_str> > date_time>=> 'Dec 4 2018 10:07AM'> print>(convert(date_time))> print>(>type>(convert(date_time)))> |
>
>
Sortir:
2018-12-04 10:07:00 )>
2. Convertir une chaîne en Datetime à l'aide Module Dateutil
Le Dateutil est un module tiers. Le module Dateutil prend en charge l'analyse des dates dans n'importe quel format de chaîne. Des informations internes sur les fuseaux horaires mondiaux actuels sont fournies par ce module. Analyser() peut convertir une chaîne Python au format date-heure. Le seul paramètre utilisé est la chaîne.
Exemple: Le programme importe le module d'analyse de la bibliothèque dateutil pour la conversion chaîne vers dateheure qui a une fonction pour analyser les chaînes de date et d’heure. La fonction Parser.parse() reconnaît automatiquement le format, ce qui transforme la chaîne 23 juin 2022 19h31 en un objet DateTime.
Python3
from> dateutil>import> parser> > DT>=> parser.parse(>'Jun 23 2022 07:31PM'>)> > print>(DT)> print>(>type>(DT))> |
>
>
Sortir:
2022-06-23 19:31:00>
En savoir plus: Créer Python Datetime à partir d'une chaîne
Comment convertir DateHeure en chaîne ?
Vous pouvez également convertir un DateTime en chaîne à diverses fins, telles que la création de rapports, le formatage personnalisé ou le formatage pour l'affichage. Voyons différentes méthodes pour convertir datetime en chaîne.
Input: 2018-12-04 10:07:00 Output: Dec 4 2018 10:07:00AM Explanation: In this, we are converting the datetime format to the string>
1. Convertir Datetime en chaîne u chanter Time.strftime()
Python strftime() la fonction est présente dans dateheure module pour créer une représentation sous forme de chaîne basée sur la chaîne de format spécifiée. Nous utilisons cette méthode pour convertir datetime à chaîne en Python.
Une autre fonction similaire est disponible dans le module time Python qui convertit un objet tuple ou struct_time en chaîne comme spécifié par l'argument format.
Exemple: Le programme convertit Dateheure en chaîne et importe le module de temps Python, qui offre des fonctions de gestion des activités liées au temps. La fonction convert() prend un tuple datetime_str en entrée, le transforme en horodatage à l'aide de time.mktime(), puis formate l'horodatage en une représentation sous forme de chaîne en utilisant le format %b%d%Y%r fourni.
Python3
import> time> > # Function to convert string to datetime> def> convert(datetime_str):> >datetime_str>=> time.mktime(datetime_str)> >format> => '%b %d %Y %r'> >dateTime>=> time.strftime(>format>, time.gmtime(datetime_str))> >return> dateTime> > date_time>=> (>2018>,>12>,>4>,>10>,>7>,>00>,>1>,>48>,>0>)> print>(convert(date_time))> print>(>type>(convert(date_time)))> |
>
>
Sortir:
Dec 04 2018 04:37:00 AM>
Complexité temporelle : O(1)
Espace auxiliaire : O(1)
Apprendre encore plus: Comment formater la date en utilisant strftime() en Python
2. Convertir Datetime en chaîne en utilisant DateHeure
Apportez le module datetime à convertir datetime en chaîne en utilisant la date et l'heure spécifiées, et créez un objet datetime. Créez une chaîne de format qui décrit les exigences de formatage pour l'objet datetime.
Pour créer une chaîne au format souhaité, utilisez la méthode strftime() de l'objet DateTime. La chaîne de format est l'argument de la fonction strftime().
Exemple: Le programme importe le module datetime, qui permet aux programmeurs Python d'accéder aux classes pour travailler avec les dates et les heures. Les valeurs de date et d'heure fournies, le 14 mars 2022, à 15h30, sont utilisées pour générer un objet datetime. L'objet datetime est transformé en une représentation sous forme de chaîne basée sur la chaîne de format à l'aide de la méthode strftime().
Python3
import> datetime> > datetime_object>=> datetime.datetime(>2022>,>3>,>14>,>15>,>30>,>0>)> > format_string>=> '%Y-%m-%d %H:%M:%S'> > # Convert the datetime object to a string in the specified format> date_string>=> datetime_object.strftime(format_string)> > print>(date_string)> print>(>type>(date_string))> |
>
différence entre $ et $$
>
Sortir:
2022-03-14 15:30:00>
Complexité temporelle : O(1)
Espace auxiliaire : O(1)
Dans cet article, nous avons couvert les méthodes pour convertir une chaîne en datetime et vice-versa. La conversion de datetime en chaînes ou vice-versa peut être très utile et pratique en programmation. Vous pouvez utiliser ces méthodes pour convertir datetime en chaînes ou vice versa.
Lire aussi :
- Conversion de la chaîne 'aaaa-mm-jj' en DateTime en Python
- Comment convertir datetime en date en Python