gpt4 book ai didi

Python Timenow 没有毫秒?

转载 作者:行者123 更新时间:2023-11-30 23:02:13 25 4
gpt4 key购买 nike

我正在将时间写入 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)

但默认情况下,time.now 不会给出类似 2016-01-05 00:39:20 的内容,它会在后面添加毫秒,如 2016-01-05 00:39:20.xxxx。

我在文档中没有看到使用 strptime 处理毫秒的选项,也没有看到在没有毫秒的情况下编写 timenow 的方法,这也可以工作。

我希望有一些简单的语法可以解决其中一个问题。我很感激这里有一个指针,几个小时以来我认为应该相当简单。

最佳答案

用于显示 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 的自定义格式:

>>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
'2016-01-04 17:31:32'

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

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

引用号:strftime() and strptime() Behavior

关于Python Timenow 没有毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com