[英]change date format in django
我正在嘗試在Django中使用此 eventCalendar,它以以下格式保存和顯示日期:
2012-02-27T13:15:00.000+10:00
但是,當我將事件保存在數據庫中時,事件將以以下格式保存:
Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time)
因此由於這種格式,數據庫中的事件將不會出現在日歷上。 如何轉換這種格式? 我嘗試過這樣的事情:
datetime.strptime(mydatetime, "%Y-%m-%dT%H:%M:%S+0000")
但是我反復遇到這樣的錯誤:
'module' object has no attribute 'strptime'
編輯:日期為字符串格式
strptime
用於將字符串解析為datetime對象。 格式字符串表示如何解析該字符串, 而不是您希望日期時間以后作為字符串打印時采用的格式。 因此,首先需要使格式字符串與輸入字符串的日期格式匹配。
從strptime
獲得日期時間strptime
,便可以將strftime
與當前的格式字符串一起使用,以將其帶入所需的顯示中。
也就是說,看來您的進口商品有問題。 該錯誤似乎表明您已完成:
import datetime
datetime.strptime(...)
不對 strptime
和strftime
是datetime.datetime
關閉方法,因此您需要像以下那樣修改導入:
from datetime import datetime
或者, strptime
的調用修改為:
datetime.datetime.strptime(...)
UPDATE
您將從類似Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time)
的字符串開始。 Python非常出色,但並非無所不知。 如果要將其轉換為datetime
,則必須告訴它如何 。 這就是傳遞給strptime
的格式字符串的目的。 您需要創建一個格式字符串,該格式字符串表示數據庫中表示的當前字符串日期和時間(練習留給讀者)。 反過來考慮,您想要實際代表這樣的datetime
,您將如何去做。
這將使您獲得datetime
。 從那里,您現在可以使用strftime
將該datetime
格式化為字符串,這次傳遞您想要的實際格式。
因此,過程為:
strptime
的參數以獲取datetime
strftime
的參數,以將步驟2中的datetime
時間轉換為所需的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.