python模块之time/datetime

发布时间 2023-09-28 06:57:56作者: 我来改变代码
  • time模块
    • 时间戳time.time();用于计算时间
    • 格式化时间time.strftime();用于时间的展示,字符串格式
      print(time.strftime("%Y-%m-%d %X"))         # 2023-04-19 05:40:07
      print(time.strftime("%Y-%m-%d %H:%M:%S"))   # 2023-04-19 05:40:07
      
    • 结构化时间time.localtime();用于时间格式间的转化
      '''
      time.struct_time(tm_year=2023, tm_mon=4, tm_mday=19, 
                          年             月         日
      tm_hour=5, tm_min=41, tm_sec=8, 
      时           分           秒
      tm_wday=2, tm_yday=109, tm_isdst=0)
      本周第几天   年度第几天     夏令时
      '''
      res = time.localtime()
      print(res.tm_yday)  # 年度第109天
      
    • 应用:字符串格式时间的计算
      • 1.将字符串时间(转为结构化时间)转为时间戳
        import time
        # 将字符串时间(转为结构化时间)转为时间戳
        target_time = '1988-12-17 12:12:12'
        struct_time = time.strptime(target_time,"%Y-%m-%d %X")
        stamp_time  = time.mktime(struct_time)
        # print(struct_time,stamp_time)
        res = stamp_time + 7*24*3600    # 7天后的时间戳            
        
      • 2.将计算后的时间戳转为格式化时间(字符串)
        import time
        
        # 将计算后的时间戳转为格式化时间(字符串)
        struct_time_new = time.localtime(res)
        res_ = time.strftime("%Y-%m-%d %X",struct_time_new)
        print(type(res_),res_)      # <class 'str'> 1988-12-24 12:12:12
        
  • datetime模块
    • 结构化时间datetime.datetime.now(),得到datetime对象(非字符串格式)
      import datetime
      # 展示结构化的时间
      print(datetime.datetime.now())  # 得到datetime对象:2023-04-19 05:51:42.168642,非字符串格式
      # 可以进行时间格式化的计算,时间偏移量:datetime.timedelta()
      print(datetime.datetime.now()+datetime.timedelta(days=+3,hours=+3))      # 三天三小时后的时间
      
    • 将计算后的时间戳转为格式化时间(字符串)
      import datetime
      ## datetime应用:将时间戳转为格式化时间(同上第2步)
      result = datetime.datetime.fromtimestamp(3333333333)
      print(type(result),result)      # <class 'datetime.datetime'> 2075-08-18 13:55:33
      print(result.strftime('%H:%M:%S %Y.%m.%d'))        # <class 'str'> 13:55:33 2075.08.18