替换日期时间类型python中的小时数
我有一个日期时间类型mydate,格式为替换日期时间类型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
%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”)
(复制并粘贴该行)。如果是的话,你会得到哪个错误?