Python程序在字典中给定日期前2周发送提醒电子邮件
我有一个名为“结果”的列表,其中包含50本患者字典和包括预约日期在内的患者信息。我正在尝试创建一个提醒系统,在患者预约前2周零2天发送一封电子邮件。我在创建一个程序时遇到了问题,该程序将今天的日期与约会日期进行比较,并提取距离今天日期2周和2天的约会 这是我到目前为止的脚本,但我不知道如何包含2周2天的条件Python程序在字典中给定日期前2周发送提醒电子邮件,python,email,time,reminders,Python,Email,Time,Reminders,我有一个名为“结果”的列表,其中包含50本患者字典和包括预约日期在内的患者信息。我正在尝试创建一个提醒系统,在患者预约前2周零2天发送一封电子邮件。我在创建一个程序时遇到了问题,该程序将今天的日期与约会日期进行比较,并提取距离今天日期2周和2天的约会 这是我到目前为止的脚本,但我不知道如何包含2周2天的条件 import datetime now = datetime.datetime.now() current_date= (now.strftime("%m/%d/%Y")) current_
import datetime
now = datetime.datetime.now()
current_date= (now.strftime("%m/%d/%Y"))
current_time= (now.strftime("%I:%M %p"))
for i in results:
if i['Appointment Date'] >= current_date:
print("Upcoming Appointment")
else:
print("Passed Appointment")
您需要将
i['Appointment Date']
转换为datetime
对象,然后用今天的日期检查它
import datetime
now = datetime.datetime.now()
for i in results:
# convert to datetime, assuming the string format is "YYYY/MM/DD"
target_date = datetime.datetime.strptime(i['Appointment Date'],"%Y/%m/%d")
diff = target_date - now
if diff.days==14 or diff.days==2: # check for 2 days or 14 days
print("Upcoming Appointment")
else:
print("Passed Appointment")
您需要将
i['Appointment Date']
转换为datetime
对象,然后用今天的日期检查它
import datetime
now = datetime.datetime.now()
for i in results:
# convert to datetime, assuming the string format is "YYYY/MM/DD"
target_date = datetime.datetime.strptime(i['Appointment Date'],"%Y/%m/%d")
diff = target_date - now
if diff.days==14 or diff.days==2: # check for 2 days or 14 days
print("Upcoming Appointment")
else:
print("Passed Appointment")
为什么要从
datetime
对象创建字符串?如果您将%m/%d/%Y
作为日期格式,那么比较并没有达到您认为的效果。将日期值从i
解析为datetime
并使用该值与当前日期进行比较有什么问题。至于delta:看一下。如何将i中的数据值解析为datetime?为什么要从datetime
对象创建字符串?如果您将%m/%d/%Y
作为日期格式,那么比较并没有达到您认为的效果。将日期值从i
解析为datetime
并使用该值与当前日期进行比较有什么问题。至于增量:看看。你会如何将数据值从i解析为datetime?谢谢!但是我得到了这个错误?:“AttributeError:module'datetime'没有属性'strptime'”更新了代码,它应该是datetime.datetime.strptime字符串格式实际上是“MM/DD/yyyyy”,所以我在您给“%m/%d/%Y”的代码中对其进行了调整,但运行后我得到:“ValueError:time数据‘约会日期’与格式“%m/%d/%Y”不匹配?啊,“约会日期”出现了。我想我的问题在于我的字典。我有一个包含患者信息的txt文件,我必须将该txt文件转换为字典。我一定是编错了,这就是为什么我不能提取指定日期值的原因?是的,似乎是这样。如果您需要帮助,请将这段代码添加到问题中。谢谢!但是我得到了这个错误?:“AttributeError:module'datetime'没有属性'strptime'”更新了代码,它应该是datetime.datetime.strptime字符串格式实际上是“MM/DD/yyyyy”,所以我在您给“%m/%d/%Y”的代码中对其进行了调整,但运行后我得到:“ValueError:time数据‘约会日期’与格式“%m/%d/%Y”不匹配?啊,“约会日期”出现了。我想我的问题在于我的字典。我有一个包含患者信息的txt文件,我必须将该txt文件转换为字典。我一定是编错了,这就是为什么我不能提取指定日期值的原因?是的,似乎是这样。如果您需要帮助,请将这段代码添加为问题的一部分。