Django時間Field與datetime與time解讀

django相關Field

 

DateTimeField 和 DateField 和 TimeField,存儲的內容分別對應着 datetime(), date(), time()三個對象。html

 

經常使用參數:auto_now true:保存時每次更新, auto_now_add true:只建立時更新python

 
 

自動添加的默認值:django

 
  •   TimeField: datetime.datetime.now().time()
     
  •   DateField: datetime.date.today()
     
  •   DateTimeField: timezone.now()
       
 

django默認帶了時區時間:app

 
 

關係:ide

  •   datetime.datetime.now()
     
    • 返回 naive time(不帶時區)
       
  •   datetime.datetime.utcnow()
     
    • 返回 naive time(不帶時區),爲UTC時間
       
  •   timezone.now():
     
    • USE_TZ=True:UTC時間(active time);
       
    • USE_TZ=False:與datetime.datetime.now() 徹底相同 (naive time)
         

datetime模塊

經常使用類:函數

 
object
  timedelta # 主要用於計算時間跨度
  tzinfo # 時區相關
  time # 只關注時間
  date # 只關注日期
    datetime # 同時有時間和日期,繼承的date

經常使用方法:spa

  •   datetime.datetime.now() 得到當前時間datetime.datetime 實例。底層調用的time模塊獲取struct_time進行格式化
     
  •   now.date()、now.time() 返回date、time對象
 

返回帶時區時間:操作系統

 
 
 
  •   對應的對象構造:
     
  •   datetime.date(year, month=None, day=None),返回date對象
     
  •   datetime.datetime(year, month=None, day=None, hour=0, minute=0, second=0, microsecond=0, tzinfo=None) 返回datetime對象
     
  •   datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None),返回time對象
     
  •   datetime.timedelta 比較兩個datetime對象之間的差別
     
  •   兩個datetime對象直接相減能獲得timedelta對象,datetime加減一個timedelta對象仍是datetime對象
     
 
 
 
  •   datetime.datetime.strptime 字符串轉換成datetime類型時間, 底層調用 time.strftime()
     
  •   datetime.datetime.strftime datetime類型轉換成字符串,封裝方法返回datetime對象
     
 
  
  •   datetime.datetime.timetuple() 返回struct_time描述
     
 
 
 

time模塊:

  1.   Generic Operating System Services:提供的功能是更加接近於操做系統層面的,圍繞Unix Timestamp 進行。
     
  2.   該模塊主要包括一個類 struct_time(經過 gmtime(), localtime(), strptime() 返回),另外其餘幾個函數及相關常量。在該模塊中的大多數函數是調用了所在平臺C library的同名函數, 注:有些函數是平臺相關的,可能會在不一樣的平臺有不一樣的效果。
     
  3.   紀元開始:
     
 
 
  
  1.   因此其所能表述的日期範圍被限定在 1970 - 2038之間。 

  參考:https://zh.wikipedia.org/wiki/2038%E5%B9%B4%E9%97%AE%E9%A2%983d

 
 
 
 

經常使用方法:code

  •   time.time(): 從紀元到如今通過的總秒數:返回浮點數
     
  •   time.gmtime(secs) -> UTC, time.localtime(secs)
 
 
 
 
  •   time.strptime 字符串轉換成 struct_time
     
  •   time.strftime struct_time轉換成字符串
     
 
 
 
 
  •   more: https://docs.python.org/3.8/library/time.html#module-time
相關文章
相關標籤/搜索