python ---datatime序列
datetime模块介绍
类名 | 功能说明 |
---|---|
date | 日期对象,常用的属性有year, month, day |
time | 时间对象 |
datetime | 日期时间对象,常用的属性有hour, minute, second, microsecond |
datetime_CAPI | 日期时间对象C语言接口 |
timedelta | 时间间隔,即两个时间点之间的长度 |
tzinfo | 时区信息对象 |
一 . date类
from datetime import date
#返回当前日期
print(date.today()) 输出:2021-11-25
a=date(2021,11,15)#a.year,a.month,a.day分别为:2021,11,15
#转化为时间元组输出
a.timetuple()输出为:time.struct_time(tm_year=2021, tm_mon=11, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=81, tm_isdst=-1)
print(date(2021,11,15)) 输出:2021-11-15
#传入时间戳参数,返回date对象
date.fromtimestamp(time.time()) #输出结果为:2021-11-25
#字符串的格式化输出
a = date.today() #date对象
print(a.__format__('%Y-%m-%d')) 由date对象转化为格式化字符串输出
输出结果:2021-11-26
或者:
a.strftime("%Y-%m-%d")
输出结果:2021-11-26
二 . time类
time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) #time
类由hour
小时、minute
分钟、second
秒、microsecond
毫秒和tzinfo
五部分组成
a = datetime.time(12,20,59,899) print(a.hour) #12 print(a.minute) #20 print(a.second) #59 print(a.microsecond)#899
1.比较时间大小
>>> a = datetime.time(12,20,59,899) >>> b = datetime.time(11,20,59,889) >>> a.__eq__(b) 是否相等 False >>> a.__ne__(b) 是否不相等 True >>> a.__ge__(b) a是否大于等于b True >>> a.__gt__(b) a是否大于b True >>> a.__le__(b) a是否小于等于b False >>> a.__lt__(b) a是否小于b False
2.时间的字符串输出
import datetime
a = datetime.time(12,20,59,899)
a.__format__('%H:%M:%S') #输出:'12:20:59'
或者
a.strftime('%H:%M:%S') #输出:'12:20:59'
三 . datetime类
datetime类的数据构成
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
import datetime
a = datetime.datetime.now()
print(a) #输出:2021-11-26 00:47:03.811068
print(a.date()) #输出:2021-11-26
print(a.time()) #输出:00:47:52.615274
#联合date和time重新获得一个新的datetime
print(datetime.datetime.combine(a.date(),a.time()))
根据string和format返回一个新的datetime对象
datetime.datetime.strptime(string, format)#返回一个对应的datetime对象
datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M')
四 . timedelta类
timedelta
类是用来计算二个datetime
对象的差值的。
此类中包含如下属性: days
:天数 , microseconds
:微秒数(>=0 并且 <1秒) seconds
:秒数(>=0 并且 <1天)
import datetime
today = datetime.date.today()
#获取上个月第一天
mfirst_day = datetime.date(mlast_day.year, mlast_day.month, 1)
#获取上个月最后一天
mlast_day = datetime.date(today.year, today.month, 1) - datetime.timedelta(1)
2 . 获取时间差
import datetime start_time = datetime.datetime.now()
end_time = datetime.datetime.now()
print((end_time - start_time).seconds)
输出结果为:7
3 . 计算当前时间向后8个小时的时间
import datetime d1 = datetime.datetime.now() d2 = d1 + datetime.timedelta(hours = 8) #d2为d1向后8小时的时间对象
可以计算: 天(days), 小时(hours), 分钟(minutes), 秒(seconds), 微秒(microseconds).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具