日期與時間永遠是專案中很重要的一部分,
不論是專案的起始與結束,
或者重要資訊的發布,
都與時間密切相關,
今天就來介紹:
Django 的時間格式處理範例
Django 的 model 中,表示時間的格式有三種:
DateTimeField ,DateField,TimeField,
這些時間資料都有 auto_now 與 auto_now_add 參數,
當 auto_now 設定為 True,
則每次儲存時候,會更新時間欄位為現在時間,
但 auto_now_add 設定為 True 時,
此時間欄位只有在建立的時候將時間記錄下來,
特別要注意的此兩個參數只能一者為 True,
只要有一者為 True 此欄位就無法修改
若希望時間欄位能夠修改,
則需使用 default 指定預設時間,
上圖範例使用 default= date.today 作為預設時間,
而在程式碼中,
若要進行時間格式的轉換,
可透過 datetime(),date(),time() 中的各種方法來轉換,
例如
datetime.strptime(字串, "字串的時間格式")
此方法是將 String 格式的時間轉成時間格式
date1 = datetime.datetime.strptime(col[5], '%Y-%m-%d')
上圖範例將文字格式的時間 2019-11-18 , 轉為 datetime 格式後輸出,
而 datetime.strftime("時間格式", 時間),
則是將時間依照指定的時間格式輸出為字串格式,
假設目前以今天的日期為範例 t1= datetime.now() ,
執行 print ( datetime.strftime("%Y-%m-%d", t1) ),
就會顯示:
2019-11-18
附帶一提的是時間格式的代號:
- %Y 四位數字的年份表示
- %y 兩位數字的年份表示
- %m 月份
- %d 日期
- %H 24小時制的時數
- %M 分
- %S 秒
- %b 月份的縮寫(例如:二月為Feb)
沒有留言:
張貼留言