目录

简介

1.标准库

1.标准库介绍

2.标准库的导入

 2.时间库

1.获取时间戳

  2.I/O操作

3.获取时间

(1.)localtime()函数

(2.)  gmtime()函数

     (3.)  ctime()函数

4.时间格式的转换

(1.)mktime()函数

(2.)strftime()函数

(3.)strptime () 函数

5.时间休眠


简介

        在 Python 的广阔世界里,时间处理是一项基础且至关重要的技能,无论是日志记录、任务调度,还是数据时间戳分析,都离不开对时间的精准操控。而 “时间库” 作为 Python 中处理时间相关操作的核心工具集合,包含了诸如time、datetime、calendar等多个实用库,它们各自有着独特的功能和应用场景。 “每天学习一个 Python 库 — 时间库” 系列博客,正是为了帮助大家系统、深入地掌握这些时间库而诞生的。因此,在这个系列中,我们将每天聚焦一个具体的库,从基础的函数用法讲起,逐步深入到实际应用案例。

1.标准库

1.标准库介绍

        标准库是Python自带的库,无须下载,可直接使用。通过下面代码可以查看标准库的目录地址。

import sys
print(sys.exec_prefix)
C:\Users\DELL\AppData\Local\Programs\Python\Python39

        以上就是Python的安装目录地址,而标准库的目录地址就在lib文件夹中

2.标准库的导入

import time 				#导入整个time库
from time import sleep		#导入time库中的sleep函数
from time import *			#导入time库中的全部函数
import time as t			#导入整个time库,并且定义别名为t

        当你想导入一个库时,例如使用import water导入这个库。Python会自动按照以下步骤进行搜索。

        (1.) 优先在代码所在文件央中搜索是否存在名为water.py的代码文件。如果不存在则执行下一个搜索步骤。
        (2.) 搜索Python安装路径下的Lib目录(含标准库)中是否存在名为 water.py的代码文件。如果不存在执行下一个搜索步骤。
        (3.) 搜索Python安装路径下的Lib目录中的s ite-packages目录(即第三方库目录)中是否存在名为water.py的代码文件。如果搜索到对应的代码文件,则可以继续使用代码文件中的函数或类方法。如果仍然搜不到文件则会出现如下报错信息,表明没有找到名为water的模块。

 2.时间库

        Python标准库中的time库主要用于获取当前时间和设置时间的格式,在使用time库之前需要使用import将time库带入代码文件

1.获取时间戳

        时间戳表示当前时间与1970年1月1日0时0分0秒到时间差(以秒为单位),可以使用time库中的time()函数来获取。

import time #时间戳,当前时间与1970年1月1日0时0分0秒的时间差
a = time.time()
print(a)
# 运行结果为:1752137285.4044664

        一个程序是否优良可以通过其运行的稳定性和运行速度来判定,time()方法不仅可以检测程序代码在何时被执行,还可以测量程序的运行速度。

import time
start = time.time()
i = 1
while i<100000000:
   i += 1
end = time.time()
print('代码启动时间:',start,'\n停止时间:',end,'\n执行时间:',end-start)
# 代码启动时间: 1752146192.2039964
# 停止时间: 1752146197.1724012
# 执行时间: 4.968404769897461

  2.I/O操作

        如果在上面程序while循环中加入print语句,就会发现运行时间大大增加了。因为print()语句在输出信息时需要CPU进行I/O(input和print)操作,需要消耗的时间就会增多。

import time
start = time.time()
i = 1
while i<10000000:
  i += 1
  print(i)     #时间消耗非常大
end = time.time()
print('代码启动时间:',start, '\n停止时间:',end,'\n执行时间:',end-start)
#运行结果:
#代码启动时间: 1752146422.7530127 
#停止时间: 1752146489.4584126 
#执行时间: 66.70539999008179

        而如果创建一个文本用于保存循环过程中的写入的数据,就会发现时间消耗的比print()语句减少很多。

import time
with open('o.txt','w') as f:
   start = time.time()
   i = 1
   while i<10000000:
       i += 1
       f.write(str(i))
   end = time.time()
print('代码启动时间:',start, '\n停止时间:',end,'\n执行时间:',end-start)
# 运行结果为代码启动时间: 1752146798.9920173 
# 停止时间: 1752146802.5772362 
# 执行时间: 3.585218906402588

3.获取时间

(1.)localtime()函数

        localtime()函数用于获取本地当地时间,使用形式如下:

localtime(seconds=None)

        参数seconds:值可以为None或时间戳值。如果为None表示获取本地当前时间,如果为时间戳值表示将时间seconds转换为本地当地时间。
        返回值:struct.time数据对象。 struct time数据对象是Python内置数据类型,其形式类似于元组,其中元素tm-year表示年份、 tm_mon表示月份tm_mday表示日期、tm_hour表示小时tm_min表示分钟、 tm_sec表示秒、tm wday表示星期(0表示星期一,1表示星期二以此类推)、 tm-yday表示这一年的第几天、 tm isdst表示时间是否为夏令时(0表示非夏令时,1表示夏令时)

import time
a= time.localtime()#获取本地当前时间。
print(a)        #struct_time数据对象
print(list(a))
b = time.localtime(1622874693.6661327)#将时间戳转换为本地时间
print(b)

运行结果为:

time.struct_time(tm_year=2025, tm_mon=7, tm_mday=10, tm_hour=19, tm_min=35, tm_sec=53, tm_wday=3, tm_yday=191, tm_isdst=0)
[2025, 7, 10, 19, 35, 53, 3, 191, 0]
time.struct_time(tm_year=2021, tm_mon=6, tm_mday=5, tm_hour=14, tm_min=31, tm_sec=33, tm_wday=5, tm_yday=156, tm_isdst=0)

(2.)  gmtime()函数

        gmtime0)函数用于获取UTC(Universal Time Coordinated,世界协调时,又称世界标准时间。中国的时间与世界标准时间相差8个小时)时间。其使用形式如下:

def gmtime(seconds=None)

        参数seconds:值可以为None或时间戳值。如果为None表示获取当前UTC时区(0时区)的时间,如果为时间戳值表示将时间戳转换为UTC时区(0时区)的时间。
        返回值: struct_time数据对象。

import time
a= time.gmtime()    #获取UTC时间
print(a)
# 运行结果为:time.struct_time(tm_year=2025, tm_mon=7, tm_mday=10, tm_hour=11, tm_min=40, tm_sec=51, tm_wday=3, tm_yday=191, tm_isdst=0)

     (3.)  ctime()函数

        ctime()函数用于获取字符串形式的时间。其使用形式如下:

ctime (seconds-None)

        参数seconds:值可以为None或时间戳值。如果为None表示获取字符串形式的当前时间,如果为时间戳值表示将时间戳转换为字符串形式的时间。
        返回值:字符串,形式为星期 月份 日期小时:分钟:秒年份,值均用英文和数字表示。

import time
a= time.ctime() #获取字符串形式的时间值
print(a)
#运行结果:Thu Jul 10 19:44:18 2025

4.时间格式的转换

        时间格式转换可以将不同的格式的时间表示进行转换

(1.)mktime()函数

        mktime()函数用于将struct. time对象变量转化为时间戳。其使用形式如下:

mktime(p_tuple)

        参数p_tuple:为struct_time对象,参数必须给出,否则会抛出错误。

import time
print(time.localtime())
print(time.mktime(time.localtime()))#将struct_time对象变量t转化为时间戳
# time.struct_time(tm_year=2025, tm_mon=7, tm_mday=10, tm_hour=19, tm_min=57, tm_sec=32, tm_wday=3, tm_yday=191, tm_isdst=0)
# 1752148652.0

(2.)strftime()函数

 mktime()函数用于将struct. time对象变量转换为格式化的字符串。其使用形式如下:

strftime(format,p_tuple=None)

        参数format:根据format格式定义输出时间。下表所示的内容为strfime()中的format格式化字符串,format格式化字符使用第1列中的格式化字符串表示,表格第2列和第3列分别为对应格式化字符串的解释、值范围和实例。

格式化字符串 解释 值范围和实例
%Y 年份 0001 - 9999,例如 1900
%m 月份 01 - 12,例如 10
%B 月名 January - December,例如 April
%b 月名缩写 Jan - Dec,例如 Apr
%d 日期 01 - 31,例如 25
%A 星期 Monday - Sunday,例如 Wednesday
%a 星期缩写 Mon - Sun,例如 Wed
%H 小时(24 小时制) 00 - 23,例如 12
%I 小时(12 小时制) 01 - 12,例如 7
%p 上午 / 下午 AM,PM,例如 PM
%M 分钟 00 - 59,例如 26
%S 00 - 59,例如 26


        参数p_tuple:为struct_time对象,函数根据format参数将struct. time对象转换为对应的格式化字符串,如果p-tuple未指定则默认传入time.localtime()。如果p tuple中的任何一个元素越界,代码程序将会出ValueError。
 

import time
a = time.localtime()
b= time.strftime('%Y-%m-%d-%H:%M:%S',a)#将struct_time对象转换为格式化的字符串
print(a,'\n',b)
# 运行结果为:time.struct_time(tm_year=2025, tm_mon=7, tm_mday=10, tm_hour=20, tm_min=5, tm_sec=28, tm_wday=3, tm_yday=191, tm_isdst=0) 
#  2025-07-10-20:05:28

(3.)strptime () 函数

strptime () 函数用于把一个格式化时间字符串转化为 struct_time 数据对象(与 strftime () 互
其使用形式如下:

strptime (string, format)

        参数 string:为字符串,与 strftime () 函数输出的字符串相同,例如 '2021-09-30 12:36:19'。
        参数 format:生成参数 string 时所需的格式,与 strftime () 函数中的 format 参数相同。

import time
a = time.strptime('2021-09-30','%Y-%m-%d')#把一个格式化时间字符串转化为struct_time数据
print(a)
# 运行结果为:time.struct_time(tm_year=2021, tm_mon=9, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=273, tm_isdst=-1)

5.时间休眠

        当要让代码程序在执行前等待一段时间,可以使用 sleep (参数) 来实现,其中参数为程序休眠的时可以是小数或整数,单位为秒。

import time
time.sleep(10)
print('此消息10秒后输出')
#运行结果:此消息10秒后输出

        第 2 行代码设置程序休眠 10 秒钟,即在 10 秒后才开始执行第 3 行代码

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐