ISO 8601 Représentation du temps
La norme internationale ISO 8601 décrit une représentation sous forme de chaîne pour les dates et les heures. Deux exemples simples de ce format sont
2010-12-16 17:22:15
20101216T172215
(qui signifient tous deux le 16 décembre 2010), mais le format permet également d'obtenir des temps de résolution inférieurs à la seconde et de préciser les fuseaux horaires. Ce format n'est bien sûr pas spécifique à Python, mais il permet de stocker les dates et les heures dans un format portable. Des détails sur ce format peuvent être trouvés dans la page Entrée Markus Kuhn .
Je recommande l'utilisation de ce format pour stocker les heures dans les fichiers.
Une façon d'obtenir l'heure actuelle dans cette représentation est d'utiliser strftime du module time de la bibliothèque standard de Python :
>>> from time import strftime
>>> strftime("%Y-%m-%d %H:%M:%S")
'2010-03-03 21:16:45'
Vous pouvez utiliser le constructeur strptime de la classe datetime :
>>> from datetime import datetime
>>> datetime.strptime("2010-06-04 21:08:12", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2010, 6, 4, 21, 8, 12)
Le plus robuste est le module mxDateTime d'Egenix :
>>> from mx.DateTime.ISO import ParseDateTimeUTC
>>> from datetime import datetime
>>> x = ParseDateTimeUTC("2010-06-04 21:08:12")
>>> datetime.fromtimestamp(x)
datetime.datetime(2010, 3, 6, 21, 8, 12)
Références
1 votes
Duplication possible de Comment traduire une chaîne de dates ISO 8601 en un objet datetime Python ?
12 votes
@Nick- Lien utile, mais pas un duplicata - il demande la conversion dans l'autre sens.
1 votes
@Joseph- Je viens de poser cette question en ce qui concerne le RFC 3999- cela devrait fonctionner pour ceci - Générer un timestamp RFC 3339 en Python