导入第三方模块

  • 导包的层级关系

    • 模块(module)

      以文件为载体, 包含各类对象

    • 包(package)

      以文件夹为载体, 包含了各类模块

    • 库(lib)

      包含了各类包

  • import 库
  • from 库/模块 import 模块/函数
  • 导包的命名冲突

    通过as这个关键词来给当前模块/函数取个别名

    from datetime import datetime as p_datetime

时间模块time

调用的都是系统级的接口, 提供时间的访问和转换的功能

  • 查看时间

    • 获取当前时间

      # 有时区的
      time.localtime()
      
      返回的是一个time.struct_time对象
    • 时间戳

      time.time()
    • 时间的格式化输出

      now = time.localtime()
      now = time.strftime("%Y-%m-%d %H:%M:%S", now)
      print(now)
      
      # 可以省略时间对象
      now = time.strftime("%Y-%m-%d %H:%M:%S")
    • 运算

      将时间对象转换为list, 对相应的时间重新赋值后, 通过time.struct_time生成一个新的时间对象

      time_list = list(time.localtime())
      time_list[2] = 4
      time.struct_time(time_list)
    • 时间休眠

      当前程序休眠n秒

      time.sleep(3)

时间模块datetime

封装了time, 提供了更高级和更友好的接口

  • 查看时间

    # 获取计算机时间, 返回的是一个datetime.datime对象
    datetime.datetime.today()
    
    
    # 获取指定时区的时间
    datetime.datetime.now(tz=None)
    
    # 获取utc时间
    datetime.datetime.utcnow()
  • 时间格式的转换

    • datetime.datetime -> str

      now = datetime.datetime.now(tz=None)
      now.strftime("%Y-%m-%d %H:%M:%S")
    • str -> datetime.datetime

      >>> now
      '2021-01-03 23:38:26'
      >>> datetime.datetime.strptime(now, "%Y-%m-%d %H:%M:%S")
      datetime.datetime(2021, 1, 3, 23, 38, 26)
    • datetime.datetime -> timestamp

      >>> now
      datetime.datetime(2021, 1, 3, 23, 40, 45, 749240)
      >>> now.timestamp()
      1609688445.74924
    • timestamp -> datetime.datetime

      >>> ts
      1609688445.74924
      >>> datetime.datetime.fromtimestamp(ts, tz=None)
      datetime.datetime(2021, 1, 3, 23, 40, 45, 749240)
  • 时间运算

    • timedelta

      只作用于datetime.datetime格式

      # 选中目标模块  ctrl+B / command+B 跳转到模块源码     
          def __new__(cls, days=0, seconds=0, microseconds=0,
                      milliseconds=0, minutes=0, hours=0, weeks=0):
      >>> from datetime import timedelta
      >>> now + timedelta(hours=-1)
      datetime.datetime(2021, 1, 3, 22, 40, 45, 749240)
Last modification:September 2, 2022
如果觉得我的文章对你有用,请随意赞赏