导入第三方模块
导包的层级关系
模块(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)
Comment here is closed