Existe-t-il un moyen de passer un datetime directement dans ce format?
mydate = datetime.datetime.now()
myxmldate = '<start>%??</start>' % mydate
Ou dois-je passer comme une chaîne? J'ai besoin de passer à un xml une structure datetime.
Merci
3 réponses
Essayez avec datetime.isoformat ()
mydate = datetime.datetime.now()
myxmldate = '<start>%s</start>' % mydate.isoformat()
Essayez de lire pour 2.6:
>>> mydate.isoformat()
'2002-03-11'
>>> mydate.strftime("%d/%m/%y")
'11/03/02'
>>> mydate.strftime("%A %d. %B %Y")
'Monday 11. March 2002'
Et pour la version 3 Utilisation d'un type spécifique:
>>> import datetime
>>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)
>>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
'2010-07-04 12:15:58'
Puisque vous avez XML, il est logique d'utiliser un analyseur XML. Par exemple, avec lxml:
import lxml.etree as ET
import datetime
mydate = datetime.datetime.now()
doc = ET.fromstring('<start>%??</start>')
for start in doc.xpath('//start'):
start.text = start.text.replace('%??',str(mydate))
print(ET.tostring(doc))
Les rendements
<start>2011-11-07 12:28:58.883274</start>
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.