Python time与datetime模块核心用法解析

Aria
Aria
发布时间:2026-10-16 | 4人浏览过
原创

本文详解Python中time与datetime模块的使用方法。涵盖时间戳、结构化时间及字符串时间的转换,演示localtime、strftime等核心函数的具体操作,并对比datetime模块在对象创建、时间计算及格式化输出方面的应用,帮助开发者高效处理时间相关任务。

time 模块

time 模块主要用于执行与时间相关的操作。其基本调用方式如下所示:

import time
print(time.time())   # 时间戳 浮点数
print(time.sleep(2)) # 秒 进行睡眠

在 Python 中,时间主要呈现为以下三种形式:

1. 时间戳:通常以浮点数表示,适用于程序内部进行数值计算。

2. 结构化时间:以命名元组形式呈现,便于程序员直接查看和解析各项时间字段。

3. 字符串时间:格式化的文本形式,主要用于面向用户的展示。

time 模块提供了一系列基础方法来实现上述时间形式的转换与获取:

t = time.time()         # 用于获取当前时间戳
print(time.localtime(t))   # 将时间戳转成结构化时间
t = time.localtime()     # 将时间戳转成结构化时间,不写默认是当前时间戳
print(time.mktime(t))    # 将结构化时间转成时间戳
t = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))  # 将结构化时间转换成字符串时间
str_time = "2019-9-1 12:23:06"
print(time.strptime(str_time,"%Y-%m-%d %H:%M:%S")) # 将字符串时间转换成结构化时间
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))    # 将结构化时间转化为字符串时间
str_time = "2019-9-1 12:23:06"
print(time.mktime(time.strptime(str_time,"%Y-%m-%d %H:%M:%S")))
print(time.localtime()[0])
print(time.localtime().tm_year)
print(time.localtime().tm_yday)

执行上述代码后,终端输出的结果如下:

time.struct_time(tm_year=2022, tm_mon=3, tm_mday=30, tm_hour=16, tm_min=43, tm_sec=52, tm_wday=2, tm_yday=89, tm_isdst=0) 1648629832.0 2022-03-30 16:43:52 time.struct_time(tm_year=2019, tm_mon=9, tm_mday=1, tm_hour=12, tm_min=23, tm_sec=6, tm_wday=6, tm_yday=244, tm_isdst=-1) 2022-03-30 16:43:52 1567311786.0 2022 2022 89

datetime 模块

datetime 模块的功能与 time 模块相似,均用于处理时间数据,但其提供了更丰富的对象类型和操作接口。其基本操作示例如下:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from datetime import datetime
print(datetime.now())   # 获取到当前是时间,对象
print(type(datetime.now()))
print(datetime(2016, 11, 13, 12, 13, 14)) # 将指定时间转化为 datetime 对象
import time
print(datetime.fromtimestamp(time.time()))    # 时间戳转换成对象
print(datetime.timestamp(datetime.now()))    # 将对象转换成时间戳

print(datetime.strftime(datetime.now(),"%Y-%m-%d %H:%M:%S"))    # 将对象转换成字符串
print(datetime.strptime("2019/10/14","%Y/%m/%d"))    # 将字符串转换成对象
print(datetime.now() - datetime(9999,11,1,12,13,14))    # 用来计算当前时间相对于指定时间相差多久
from datetime import datetime,timedelta
print(datetime.now())
print(datetime.now() - timedelta(days=400))    # 用来计算400天前时间的 datetime 对象
print(datetime.now() - timedelta(days=500))

运行上述代码后,得到的输出结果如下:

2022-03-30 16:44:38.312694 <class 'datetime.datetime'> 2016-11-13 12:13:14 2022-03-30 16:44:38.312695 1648629878.312694 2022-03-30 16:44:38 2019-10-14 00:00:00 -2913755 days, 4:31:24.317681 2022-03-30 16:44:38.317681 2021-02-23 16:44:38.317681 2020-11-15 16:44:38.317681

总结

本文介绍到此结束,希望能为读者提供有益的帮助。欢迎持续关注本站,获取更多技术内容!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表