-1

我正在尝试编写一个将字符串转换为日期时间类型的程序。代码看起来像这样。

import datetime
time="20:36"
p=datetime.datetime.strptime(time, "%H:%M")
print(p)

输出是

1900-01-01 20:36:00

如何摆脱“1990-01-01”?

4

2 回答 2

1

不幸的是你不能简单地写

p = datetime.time.strptime(time, "%H:%M")

因为time.strptime没有定义。您被迫使用,无论实际解析哪些字段datetime.strptime,它都会返回一个对象。datetime

从好的方面来说,你可以time相对容易地得到你想要的对象。

t = p.time()
print(t)  # Outputs 20:36:00
于 2021-10-26T14:06:03.283 回答
0

您正在datetime从字符串创建一个对象并将其显示datetime为一个整体。

你应该做什么:

只显示时间部分:

  1. 使用strftime

编码

import datetime
time="20:36"
p=datetime.datetime.strptime(time, "%H:%M")
print(p.strftime("%H:%M"))
  1. 使用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)
于 2021-10-26T14:07:48.877 回答