您可以使用以下方式读取今天的日期:
import datetime
today = datetime.datetime.now().date()
我的 temp.csv 包含:
2020-12-11, ABCD
2020-12-23, EFGH
2020-12-01, IJKL
2020-11-11, MNOP
要从 CSV 读取,您可以使用:
f = open('temp.csv')
csv_reader = csv.reader(f, delimiter=',')
for row in csv_reader:
product_date_str = str(row[0])
现在您可以使用以下方法将日期字符串(从 csv 读取)转换为 datetime.date 对象:
date_format = '%Y-%m-%d'
product_date = datetime.datetime.strptime(product_date_str, date_format).date()
现在您可以使用以下方法获取日期差异:
diff = (today - product_date).days
然后您可以使用此差异来打印或显示您想要的任何内容。例如:
if diff > 0:
print('{} has already expired since {} days.'.format(row[1], abs(diff)))
elif diff < 0:
print('{} will expire in next {} days.'.format(row[1], abs(diff)))
else:
print('{} will expire today.'.format(row[1]))
所以完整的代码 sn-p 看起来像:
import csv
import datetime
today = datetime.datetime.now().date()
with open('temp.csv') as f:
csv_reader = csv.reader(f, delimiter=',')
for row in csv_reader:
product_date_str = str(row[0])
date_format = '%Y-%m-%d'
product_date = datetime.datetime.strptime(product_date_str, date_format).date()
diff = (today - product_date).days
if diff > 0:
print('{} has already expired since {} days.'.format(row[1], abs(diff)))
elif diff < 0:
print('{} will expire in next {} days.'.format(row[1], abs(diff)))
else:
print('{} will expire today.'.format(row[1]))