Conversion d'une chaîne en DateTime en Python
Travailler avec des dates et des heures est une tâche courante en programmation, et Python propose un puissant module datetime pour gérer les opérations liées à la date et à l'heure.
Dans cet article, nous allons convertir la chaîne au format « aaaa-mm-jj » (aaaa-mm-jj signifie année-mois-jour) en un objet DateTime à l'aide de Python.
Exemple:
Input: '2023-07-25' Output: 2023-07-25 11:30:00 Explanation: In This, we are converting the string 'yyyy-mm-dd' to Datetime format in Python.
Note : Il existe plusieurs façons d'écrire des dates au format chaîne comme aaaa-mm-jj, jj/mm/aaaa, etc. Nous pouvons changer n'importe quel format de date de chaîne au format DateTime en utilisant ces méthodes.
Comment convertir des chaînes en DateTime en Python ?
Nous pouvons convertir la chaîne en DateTime en utilisant différentes approches et méthodes. Choisissez la méthode appropriée en fonction de vos besoins et gérez les chaînes de date non valides avec élégance pour garantir l'exécution de votre Python programmes. Examinons chaque méthode ci-dessous :
- Utiliser strptime()
- En utilisant dateutil.parser.parse()
- En utilisant datetime.strptime()
Convertir la date de chaîne en DateTime à l'aide de strptime()
Nous pouvons convertir la date de chaîne en un objet DataTime en utilisant le Fonction strptime() depuis module date-heure avec Entrée(). Nous utiliserons le format '%Y/%m/%d' pour obtenir la chaîne DateTime.
Exemple:
Python3
import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime> => datetime.datetime.strptime(> input> ,> format> )> # get the date from the datetime using date()> # function> print> (datetime.date())> |
Sortir:
2021-05-25
Convertir une chaîne en objets DateTime en Python à l'aide dateutil.parser.parse()
Nous pouvons convertir la date de chaîne au format DateTime en utilisant la fonction dateutil.parser.parse() de la bibliothèque dateutil. Il fournit une approche plus flexible pour analyser et convertir les chaînes de date.
Python3
from> dateutil.parser> import> parse> def> convert_to_datetime(input_str, parserinfo> => None> ):> > return> parse(input_str, parserinfo> => parserinfo)> # Example usage> date_string> => '2023-07-25'> result_datetime> => convert_to_datetime(date_string)> print> (result_datetime)> |
Sortir:
2023-07-25 00:00:00
En savoir plus: Utiliser dateutil pour analyser les dates.
Convertir la liste des dates de chaîne en DateTime à l'aide datetime.strptime()
Nous pouvons convertir une liste de dates de chaîne en un objet DateTime en utilisant datetime.strptime() . La méthode datetime.strptime() de Python nous permet d'analyser une chaîne de date avec un format spécifié et de la convertir en un objet datetime.
Python3
# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [> '2021/05/25'> ,> '2020/05/25'> ,> '2019/02/15'> ,> '1999/02/4'> ]> # format> format> => '%Y/%m/%d'> for> i> in> input> :> > > # convert from string format to datetime format> > # and get the date> > print> (datetime.datetime.strptime(i,> format> ).date())> |
Sortir:
2021-05-25 2020-05-25 2019-02-15 1999-02-04
Dépannage des erreurs strptime()
strptime() vous donnera ValueError si la chaîne d'entrée ne peut pas être analysée dans le format donné.
Vous pouvez essayer les blocs « essayer et sauf » pour trouver la solution possible à ValueError.
Exemple:
Python3
from> datetime> import> datetime> # error as 2021 is not a leap year> date_string> => '2021-02-29'> date_format> => '%Y-%m-%d'> # Attempt to convert string to datetime> try> :> > date_object> => datetime.strptime(date_string, date_format)> > print> (date_object)> except> ValueError as e:> > print> (> 'Error:'> , e)> |
Sortir
Error: day is out of range for month
Nous avons couvert différentes méthodes pour convertir la chaîne de date au format DateTime en Python. Le format DateTime en Python est très utile lorsque l'on opère sur des données sous forme de dates, comme trouver le nombre de jours entre 2 dates.
Il est très important de conserver les dates au format DateTime si vous devez effectuer des opérations sur la date. L'interpréteur traitera aaaa-mm-jj comme une chaîne si vous ne la modifiez pas, ce qui rendra impossible l'exécution de la chaîne. Opération DateHeure dessus.
Lectures similaires :
- Convertir une chaîne en DateTime et vice-versa en Python
- Manipuler la date et l'heure avec le module Datetime
- Créer Python Datetime à partir d'une chaîne
- Travailler avec des objets Datetime et des fuseaux horaires en Python