没有毫秒的Python Timenow?

2024-10-01 02:39:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将时间写入一个XML文件,然后回来与当前时间进行比较。我以前没有用Python做过,时间格式似乎很奇怪。在

如果不使用毫秒将timenow写入XML,我已经成功地将一些东西组合在一起。在

如果XML的时间戳类似于2016-01-05 00:39:20,则可以:

tree = ET.parse('C:\logs\XMLFILENAME.xml')
    for matchlisting in tree.findall('Found'):
        age = matchlisting.find('FoundTime').text
    dnow=datetime.datetime.now()
    print dnow

    d2 = datetime.datetime.strptime(age, '%Y-%m-%d %H:%M:%S')

    #print d2
    print(dnow-d2)

但默认情况下时间。现在不提供类似2016-01-05 00:39:20的内容,而是在背面添加毫秒,比如2016-01-05 00:39:20.xxxx。在

我在文档中看不到用strptime来处理毫秒的选项,也看不到不使用毫秒来编写timenow的方法。在

我希望有一些简单的语法来解决其中的一个。我很欣赏这里的指针,几个小时前我一直在想什么应该是相当直截了当的。在


Tags: 文件treeagedatetimeparse格式时间xml
1条回答
网友
1楼 · 发布于 2024-10-01 02:39:38

显示datetime对象的默认转换为str包括微秒。如果不希望看到,请使用strftime指定自定义格式:

>>> from datetime import datetime
>>> d = datetime.now()
>>> d
datetime.datetime(2016, 1, 4, 17, 31, 32, 976902)
>>> print(d)
2016-01-04 17:31:32.976902
>>> print(d.strftime('%Y-%m-%d %H:%M:%S'))
2016-01-04 17:31:32

datetime对象还支持format的自定义格式:

^{pr2}$

此外,微秒的格式字符是%f

>>> print(d.strftime('%Y-%m-%d %H:%M:%S.%f'))
2016-01-04 17:31:32.976902

参考号:strftime() and strptime() Behavior

相关问题 更多 >