添加年份至今

时间:2018-03-29 09:16:16

标签: python python-3.x datetime

我在数据清理方面遇到了一个小问题。我有date/month没有year,我想要添加年份。我需要检查这个日期是否来自今年,即2018年,如果是月份是1月,2月或3月。如果不是从2017年检查。我的数据完全是从2017年4月,因此我认为这种粗略的方法将起作用,任何建议将不胜感激。我添加了我的代码,但想知道是否有更好的方法来做到这一点

Input: "15 March"
Desired output: "15 March 2018"

我的代码!

from datetime import date
from dateutil import parser
test = "15 March"
ico = parser.parse(test)
#print(ico.month)
today = date.today()
diff = abs(today.month - ico.month)
print(diff)
if diff <= 3:
  print(test + " 2018")
else:
  print(test + " 2017")

1 个答案:

答案 0 :(得分:3)

如果您确定这些月份处于完全方向,您可以简单地将月份保留在一个数组中。

>>> this_year = ['january', 'february', 'march']
>>> last_year = ['april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']
>>> def add_year(input_date: str)-> str:
    month = input_date.split(' ')[-1]
        updated_date = f'{input_date} 2018' if month.lower() in this_year else f'{input_date} 2017'
    return updated_date

>>> add_year('25 march')
'25 march 2018'
>>> add_year('25 March')
'25 March 2018'