Python, как мне это сделать - PullRequest
0 голосов
/ 07 ноября 2011

есть ли способ передать дату и время прямо в этом формате?

mydate = datetime.datetime.now()
myxmldate = '<start>%??</start>' % mydate

или я должен передать как строку? Мне нужно передать в XML структуру datetime.

спасибо

Ответы [ 3 ]

2 голосов
/ 07 ноября 2011

Попробуйте с datetime.isoformat ()

mydate = datetime.datetime.now()
myxmldate = '<start>%s</start>' % mydate.isoformat()
1 голос
/ 07 ноября 2011

Попробуйте тростник для 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'

И для версии 3 Использование типа :

>>> 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'
0 голосов
/ 07 ноября 2011

Поскольку у вас есть XML, имеет смысл использовать синтаксический анализатор XML.Например, с 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))

выход

<start>2011-11-07 12:28:58.883274</start>
...