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
相关文章
相关标签/搜索