我试图写一个程序,将字符串转换为日期时间类型。代码如下:
import datetime
time="20:36"
p=datetime.datetime.strptime(time, "%H:%M")
print(p)
,输出为
1900-01-01 20:36:00
如何删除'1990-01-01' ?
很遗憾,您不能简单地写
p = datetime.time.strptime(time, "%H:%M")
,因为time.strptime
没有定义。您被迫使用datetime.strptime
,它返回一个datetime
对象,无论实际解析的是什么字段。
好的一面是,您可以相对容易地获得您想要的time
对象。
t = p.time()
print(t) # Outputs 20:36:00
您正在从字符串创建datetime
对象并显示datetime
作为一个整体。
你应该怎么做:
只显示时间部分:
- use
strftime
:
import datetime
time="20:36"
p=datetime.datetime.strptime(time, "%H:%M")
print(p.strftime("%H:%M"))
- use
time
:
代码:
import datetime
time="20:36"
p=datetime.datetime.strptime(time, "%H:%M")
print(p.time())
你真正应该做的是:从您的数据创建一个time
对象。你可以使用datetime.time
import datetime
time="20:36"
hour, minute = time.split(":")
t = datetime.time(hour=int(hour), minute=int(minute))
print(t)