我想将发送时间作为 smtplib 中的输入

I want to get sendtime as an input in smtplib

我正在编写一个发送预定电子邮件的程序,但我需要代码中的时间,如下所示:

send_time = dt.datetime(2021,12,23,4,30,0)

我想得到这个发送时间作为用户的输入 喜欢:

a = int(input("enter the time:"))
send_time = dt.datetime(a)

听起来很适合 datetime.strptime

官方文档可能有点让人不知所措。 Here’s a link to a tutorial 清楚地解释了如何使用 strptime 方法。

How strptime() works?

The strptime() class method takes two arguments:

string (that be converted to datetime) format code Based on the string and format code used, the method > returns its equivalent datetime object.

在你的情况下,如果你可以试试这个:

a = int(input("enter date and time in dd/mm/yyyy H:M:S:"))
send_time = datetime.strptime(a, "%d/%m/%Y %H:%M:%S")

假设今天的日期并只添加时间的一种方法:

today = datetime.date.today()
a = input("enter the time HH:MM:SS: ")
# convert input to datetime and replace with today’s year, month and day
timetoday = datetime.datetime.strptime(a, "%H:%M:%S").replace(year=today.year, month=today.month, day=today.day)