gpt4 book ai didi

python - dateutil.parser.parse 正在将 '0001' 解析为 2001。我如何解决这个问题以仅将其读取为 0001

转载 作者:太空狗 更新时间:2023-10-30 02:59:47 24 4
gpt4 key购买 nike

from datetime import datetime
import dateutil.parser

date = '0001-01-01T00:00:00+02:00'
parsed_date = dateutil.parser.parse(date)
year = parsed_date.year
print(year)
>>> 2001

期望的输出:0001

有什么想法吗???

最佳答案

调用dateutil.parser.parse 时,您还可以指定一个参数“parseinfo”(see here)。这是一个对象,它定义了解析日期时的某些行为,包括如何处理日期。它有一个“convertyear”方法。

通过覆盖该方法,您可以更改默认行为(即 documented here )以实现您想要做的事情。这是使用此对象对代码稍作更改的版本:

from datetime import datetime
import dateutil.parser

class NoYearHandlingParserInfo(dateutil.parser.parserinfo):
def convertyear(self, year):
return int(year)

date = '0001-01-01T00:00:00+02:00'
parsed_date = dateutil.parser.parse(date, parserinfo=NoYearHandlingParserInfo())
year = parsed_date.year
print(year)

给出正确的输出“1”。如果您确实需要文字 0001,您可以像这样填充该整数:

print('{:04d}'.format(year))

关于python - dateutil.parser.parse 正在将 '0001' 解析为 2001。我如何解决这个问题以仅将其读取为 0001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30894736/

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