替换日期时间类型python中的小时数

替换日期时间类型python中的小时数,python,datetime,Python,Datetime,我有一个日期时间类型mydate,格式为%Y-%m-%dT%H:%m:%S格式。 我想换个时间 我使用mydate.replace()方法完成了此操作 现在,我想将其与另一个特定日期->myNEWdate(其格式为%Y-%m-%d%H:%m:%S)进行比较: newdate = mydate.replace(hour = islot) print newdate appointmentDict[mydate]['time_start'] = datetime.strpti

我有一个日期时间类型mydate,格式为
%Y-%m-%dT%H:%m:%S
格式。 我想换个时间 我使用
mydate.replace()
方法完成了此操作 现在,我想将其与另一个特定日期->myNEWdate(其格式为
%Y-%m-%d%H:%m:%S
)进行比较:

    newdate = mydate.replace(hour = islot)
    print newdate
    appointmentDict[mydate]['time_start'] = datetime.strptime(str(newdate),"%Y/%m/%d %H:%M:%S")
日期打印为
2015-06-26 08:00:00
我得到了错误

ValueError: time data '2015-06-26 08:00:00' does not match format '%Y/%m/%d %H:%M:%S'

如何解决此问题

您需要设置正确的格式

datetime.strptime(str(newdate),"%Y-%m-%d %H:%M:%S")

来解决异常。尽管从datetime 2字符串向后转换没有多大意义,如注释中所述。

为什么要将
datetime
对象转换为字符串并返回到
datetime
对象?将
newdate
转换为字符串,然后返回到
datetime
没有意义。您可以直接赋值。只需执行
appointmentDict[mydate]['time\u start']=newdate
,它已经是
datetime
。它还允许您正确地进行比较,作为
datetime
对象,而不是作为字符串进行比较,这有什么错误?如果我在空闲状态下尝试,我会从给定的字符串中得到一个日期时间。@shrutisravastava:同样的错误?我怀疑@Iwan1993的答案是正确的,因为您可以执行
datetime.strtime('2015-06-26 08:00:00',%Y-%m-%d%H:%m:%s”)
而不获取任何
值错误。你不应该投反对票。它解决了你抱怨的问题。如果它仍然不起作用,那么您的代码中有多个错误。@shrutisravastava:另外,请阅读问题下方的注释;将
datetime
转换为
str
是没有意义的。@Peque:没有什么不愉快的感觉……只是这个解决方案对你不起作用me@ShrutiSrivastava:我真的怀疑你不能执行
datetime.strtime('2015-06-26 08:00:00',%Y-%m-%d%H:%m:%S”)
(复制并粘贴该行)。如果是的话,你会得到哪个错误?