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
Run Code Online (Sandbox Code Playgroud)
所需输出:0001
任何的想法???
调用时dateutil.parser.parse,您还可以指定参数“parseinfo”(请参阅此处)。这是一个对象,它在解析日期时定义某些行为,包括如何处理日期。它有一个“ convertyear ”方法。
通过覆盖该方法,您可以更改默认行为(此处记录)以实现您要执行的操作。这是使用此对象的代码的略微更改版本:
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)
Run Code Online (Sandbox Code Playgroud)
这给出了“1”的正确输出。如果你真的需要文字0001,你可以像这样填充整数:
print('{:04d}'.format(year))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |