2015-06-10 45 views
-1

我在%Y-%m-%dT%H:%M:%S格式的日期時間類型數值指明MyDate。 我想更換個小時 我這樣做是使用mydate.replace()方法 現在我想另一個特定日期comapre它 - > 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' 

我應該怎麼做才能解決這個

+0

你爲什麼轉換'datetime'對象轉換成字符串,返回'datetime'對象? – falsetru

+1

將'newdate'轉換爲字符串,然後返回'datetime'沒有任何意義。您可以直接分配值。只要做'預約[mydate] ['time_start'] = newdate'已經是'datetime'。它也將允許你比較正確,因爲'datetime'對象而不是字符串 –

回答

0

您需要設置正確的格式

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

解決例外。雖然從日期時間2字符串和倒退轉換沒有太大意義,如評論中所述。

+0

哪個錯誤?如果我在閒置時嘗試,我會從給定的字符串中獲取日期時間。 – Iwan1993

+0

@ShrutiSrivastava:同樣的錯誤?我懷疑它...... @ Iwan1993的答案是正確的,因爲你可以執行'datetime.strptime('2015-06-26 08:00:00','%Y-%m-%d%H:%M:% S「)'沒有得到任何'ValueError'。你不應該downvote。它修復了你抱怨的問題。如果它仍然不起作用,那麼你的代碼中有多個錯誤。 – Peque

+0

@ShrutiSrivastava:另外,請閱讀你的問題下面的評論;將'datetime'轉換爲'str'是沒有意義的。 – Peque