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).

 

posted @   我不知道取什么名字好  阅读(47)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示