如何在python中将时间值(字符串)转换为日期时间?

如何在python中将时间值(字符串)转换为日期时间?,python,numpy,datetime,Python,Numpy,Datetime,因此,我一直在尝试编写一个语句,其中我应该从用户那里获取时间值,如果时间值介于某些时间值之间,我应该向用户问候早上好!,午后好,晚上好,晚安。用户将以HH:MM:SS格式输入时间。 我的函数代码如下所示: r = datetime.time(12, 00, 00) t = datetime.time(18, 00, 00) u = datetime.time(6, 00, 00) p = datetime.time(23, 59, 00) def my_function: time=input(

因此,我一直在尝试编写一个语句,其中我应该从用户那里获取时间值,如果时间值介于某些时间值之间,我应该向用户问候早上好!,午后好,晚上好,晚安。用户将以HH:MM:SS格式输入时间。 我的函数代码如下所示:

r = datetime.time(12, 00, 00)
t = datetime.time(18, 00, 00)
u = datetime.time(6, 00, 00)
p = datetime.time(23, 59, 00)
def my_function:
time=input('what is the time?')
    if datetime.datetime.strptime(time, '%H:%M:%S')>=u and datetime.datetime.strptime(time, '%H:%M:%S')<r:
        print('Morning')
    elif datetime.datetime.strptime(time, '%H:%M:%S')>=r and datetime.datetime.strptime(time, '%H:%M:%S')<t:
        print('Afternoon')
    elif datetime.datetime.strptime(time, '%H:%M:%S')>=t and datetime.datetime.strptime(time, '%H:%M:%S')<p:
        print('Evening')
    elif datetime.datetime.strptime(time, '%H:%M:%S')>=p and datetime.datetime.strptime(time, '%H:%M:%S')<u:
        print('Night')
    else:
        return 'invalid'
r=datetime.time(12,00,00)
t=datetime.time(18,00,00)
u=datetime.time(6,00,00)
p=datetime.time(23,59,00)
def my_功能:
时间=输入('现在是几点?')

如果datetime.datetime.strptime(时间,'%H:%M:%S')>=u和datetime.datetime.strptime(时间,'%H:%M:%S')=r和datetime.datetime.strptime(时间,'%H:%M:%S')=t和datetime.datetime.strptime(时间,'%H:%M:%S')=p和datetime
因此,变量是字符串问题,而不是在终端中键入/调用函数的任何内容。 此外,上面的代码需要在函数定义后进行缩进。

def my_function():
def my_function():

    r = datetime.time(12, 00, 00)
    t = datetime.time(18, 00, 00)
    u = datetime.time(6, 00, 00)
    p = datetime.time(23, 59, 00)

    time = input('what is the time?')
    time = datetime.datetime.strptime(time, '%H:%M:%S').time()

    if u <= time < r:
        return('Morning')
    elif r <= time < t:
        return('Afternoon')
    elif t <= time < p:
        return('Evening')
    elif p <= time or time < u:
        return('Night')
    else:
        return 'invalid'

 print(my_function())
r=datetime.time(12,00,00) t=datetime.time(18,00,00) u=datetime.time(6,00,00) p=datetime.time(23,59,00) 时间=输入('现在是几点?') time=datetime.datetime.strtime(时间,'%H:%M:%S')。time() 如果你 现在,您正在将时间设置为一个包含一个字符串的python元组。。。“现在几点了?”。元组有点像列表,但使用()而不是[]

当您将变量“time”传递给datetime时,您实际上传递的是:(“什么是时间?”)


除非已经向用户请求输入,否则它在向datetime传递任何内容时不应返回错误。

您的意思可能是
time=input(“什么是时间?”)
它现在给出了在“datetime.datetime”和“datetime.time”实例之间不支持的错误“>=”
time = input('What is the time?"