time模块

基本方法

官方文档:https://docs.python.org/zh-cn/3/library/time.html

  1. import time
  2. time.sleep(3)
  3. # 推迟指定的时间运行,单位为秒
  4. time.time()
  5. # 获取当前时间戳

表示时间的三种方式

时间戳

描述

时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回的是float类型

使用

  1. import time
  2. print(time.time())
  3. # 1648554881.1094248
  4. # 计算运行程序时间
  5. start = time.time()
  6. print("Hello")
  7. time.sleep(3)
  8. print("World")
  9. end = time.time()
  10. times = end - start
  11. print(f"运行了{time}秒")
  12. # 运行了3.0042519569396973

结构化时间

描述

主要展示给计算机看,人看起来不太方便

使用

  1. import time
  2. times = time.localtime()
  3. print(times)
  4. # time.struct_time(tm_year=2022, tm_mon=3, tm_mday=29, tm_hour=20, tm_min=1, tm_sec=35, tm_wday=1, tm_yday=88, tm_isdst=0)
索引(Index) 属性(Attribute) 值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 60
6 tm_wday(weekday) 0 - 6(0表示周一)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为0

格式化时间

描述

人最容易接收的一种时间格式

使用

  1. import time
  2. times = time.strftime('%Y-%m-%d %H:%M:%S')
  3. print(times)
  4. # 2022-03-29 20:10:19
  5. times = time.strftime('%Y-%m-%d %X')
  6. # 2022-03-29 20:10:19
指令 含意
%a 本地化的缩写星期中每日的名称。
%A 本地化的星期中每日的完整名称。
%b 本地化的月缩写名称。
%B 本地化的月完整名称。
%c 本地化的适当日期和时间表示。
%d 十进制数 [01,31] 表示的月中日。
%H 十进制数 [00,23] 表示的小时(24小时制)。
%I 十进制数 [01,12] 表示的小时(12小时制)。
%j 十进制数 [001,366] 表示的年中日。
%m 十进制数 [01,12] 表示的月。
%M 十进制数 [00,59] 表示的分钟。
%p 本地化的 AM 或 PM 。
%S 十进制数 [00,61] 表示的秒。
%U 十进制数 [00,53] 表示的一年中的周数(星期日作为一周的第一天)。 在第一个星期日之前的新年中的所有日子都被认为是在第 0 周。
%w 十进制数 [0(星期日),6] 表示的周中日。
%W 十进制数 [00,53] 表示的一年中的周数(星期一作为一周的第一天)。 在第一个星期一之前的新年中的所有日子被认为是在第 0 周。
%x 本地化的适当日期表示。
%X 本地化的适当时间表示。
%y 十进制数 [00,99] 表示的没有世纪的年份。
%Y 十进制数表示的带世纪的年份。
%z 时区偏移表示与UTC/GMT的正时差或负时差,其形式为+HHMM或-HHMM,其中H表示十进制小时数,M表示十进制分钟数[-23:59,+23:59]
%Z 时区名称(如果不存在时区,则不包含字符)
%% 字面的 '%' 字符。

时间类型的转换

time模块 - 图1

  1. import time
  2. times = time.localtime(time.time())
  3. print(times)
  4. # time.struct_time(tm_year=2022, tm_mon=3, tm_mday=29, tm_hour=20, tm_min=32, tm_sec=24, tm_wday=1, tm_yday=88, tm_isdst=0)

datetime模块

官方文档:https://docs.python.org/zh-cn/3/library/datetime.html

基本方法

  1. import datetime
  2. times = datetime.date.today()
  3. print(times)
  4. # 2022-03-29
  5. times = datetime.datetime.today()
  6. print(times)
  7. # 2022-03-29 20:37:00.244096
  8. print(times.year) # 获取年
  9. # 2022
  10. print(times.month) # 获取月
  11. # 3
  12. print(times.weekday()) # 星期0-6
  13. # 1
  14. print(times.isoweekday()) # 星期1-7
  15. # 2

计算时间差

  1. import datetime
  2. times = datetime.datetime.today()
  3. times_tel = datetime.timedelta(days=4) # 参数:days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0
  4. print(times_tel)
  5. # 4 days, 0:00:00
  6. print(times+times_tel) # 获取后四天
  7. # 2022-04-02 20:43:18.649433