python,我怎么做xml ='<start>%?? </start>'%datetime.datetime

时间:2011-11-07 17:19:27

标签: python xml datetime params

有没有办法直接以这种格式传递日期时间?

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

还是让我像字符串一样传递? 我需要将一个日期时间结构传递给xml。

感谢

3 个答案:

答案 0 :(得分:2)

尝试使用datetime.isoformat()

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

答案 1 :(得分:1)

尝试芦苇for 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 Using type-specific

>>> 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'

答案 2 :(得分:0)

由于您拥有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>