我正在使用 dateparser 解析字符串并返回一个日期值以与提取日期进行比较,然后返回一个整数值作为两者之间的差异。在某些情况下,解析的日期是一个范围,在这种情况下,我对范围的两端进行平均,并得到平均值和提取日期之间的差异。
当月份进入明年时,我无法将年份替换为 2021 年,所以我的差异都是负面的。 如何用 2021 代替年份?
示例输出:
extraction date: 10/26/2020 0:00; promo_message: ["Arrives: Feb 26 - March 2"] ; first_delivery: -243 ; last_delivery: -238 ; delivery: -240
代码:
elif 'Arrives' in row[6] and '-' in row[6]:
try:
example_2 = promo_message.split('-',1)
first_delivery = (parse(example_2[0], fuzzy=True))
if first_delivery.month == 1:
first_delivery = first_delivery.replace(month=1, year=2021, tzinfo=None)
elif first_delivery.month == 2:
first_delivery = first_delivery.replace(month=2, year=2021, tzinfo=None)
elif first_delivery.month == 3:
first_delivery = first_delivery.replace(month=3, year=2021, tzinfo=None)
first_delivery = (parse(example_2[0], fuzzy=True))
first_delivery_int = (first_delivery - extraction_date).days
second_delivery = (parse(example_2[1], fuzzy=True))
if second_delivery.month == 1:
second_delivery = second_delivery.replace(month=1, year=2021)
elif second_delivery.month == 2:
second_delivery = second_delivery.replace(month=2, year=2021)
elif second_delivery.month == 3:
second_delivery = second_delivery.replace(month=3, year=2021)
second_delivery = (parse(example_2[1], fuzzy=True))
second_delivery_int = (second_delivery - extraction_date).days