python时间模块time详解,python使用datetime库
Yyds干货库存
Python标准库datetime的时间模块详解。在上一篇博文中,我们学习了datetime库中的日期模块(date)。在本文中,我们将学习时间模块(time)。
门户:点击跳转到日期模块。
1.时间对象类
主要处理时、分、秒。
创建对象的常用参数是(小时、分钟、秒、微秒)
创建的对象的函数是datetime.time()
使用datetime.time()根据传递的参数创建一个对象,在没有传递参数时创建最小的时间对象。
1小时=60分钟=3600秒=36000分钟=360000厘秒=360000毫秒=3600000微秒。
1微秒=1000纳秒=100000皮秒
2.检查极值
#最长时间
print(datetime . time . max)# 23:59:59.999999
print(type(datetime . time . max))# class datetime . time
#最短时间
print(datetime . time . min)# 00:00:00
print(type(datetime . time . min))# class datetime . time
#时间对象之间的最小可分辨差异(1微秒)
打印(datetime . time . resolution)# 0:00:00.000001
print(type(datetime . time . resolution))# class datetime . time delta
3.创建时间对象。
创建对象函数datetime.time(小时、分钟、秒、微秒)
参数从左到右依次为:时、分、秒、微秒。
按位置传递参数时,必须保证参数值在规定范围内,顺序为时、分、秒、微秒。
通过传递推荐的关键字参数来创建。
print(datetime . time())# 00:00:00
print(datetime . time(12))# 12:00:00
print(datetime.time(12,2)) # 12:02:00
print(datetime.time(12,2,54)) # 12:02:54
print(datetime.time(12,2,54,999999)) # 12:02:54.999999
传入一个关键字,根据传入的参数创建一个对象。
print(datetime.time(微秒=99999)) # 00:00:00.099999
print(datetime.time(微秒=99999,秒=8,小时=9,分钟=59)) # 09:59:08.099999
4.时间替代函数
时间替换功能:替换(自身,小时,分钟,秒,微秒)
Self是必需的参数(datetime.time对象),小时、分钟、秒和微秒的参数是可选的。
根据位置传输参数时,必须确保参数值在指定范围内。
从左到右的顺序是:时、分、秒、微秒。
4.1.缺少参数错误的示例
# TypeError:未绑定的方法time.replace()需要一个参数
打印(datetime.time.replace())
4.2.参数值错误的示例
my_time=datetime.time(微秒=99999,秒=8,小时=9,分钟=59)
print(datetime . time . replace(my_time,25),my _ time)
4.3.一般用法
#时间替换
#创建一个对象
my_time=datetime.time(微秒=99999,秒=8,小时=9,分钟=59)
#仅替换小时数
print(datetime . time . replace(my _ time,hour=23),my _ time)# 23:59:08.099999 09:59:08.099999
print(datetime . time . replace(my _ time,23),my _ time)# 23:59:08.099999 09:59:08.099999
#仅分钟更换
print(datetime . time . replace(my _ time,minute=23),my _ time)# 09:23:08.099999 09:59:08.099999
#按位置传递参数以替换分钟。您必须传递两个位置参数,小时和分钟,否则您将被报告为语法错误。
print(datetime . time . replace(my _ time,9,23),my _ time)# 09:23:08.099999 09:59:08.099999
#仅替换秒数
print(datetime . time . replace(my _ time,second=23),my _ time)# 09:59:23.099999 09:59:08.099999
#同样,当按位置传递参数来替换秒时,必须传递三个位置参数:小时、分钟和秒。
print(datetime . time . replace(my _ time,9,59,15),my _ time)# 09:59:15.099999 09:59:08.099999
#只替换细微的数字
print(datetime . time . replace(my _ time,微秒=23),my _ time)# 09:59:08.000023 09:59:08.099999
#同样,在通过按位置传递参数来替换微妙的数字时,必须传递三个位置参数:小时、分钟、秒和微秒。
print(datetime . time . replace(my _ time,9,59,8,23),my _ time)# 09:59:08.000023 09:59:08.099999
5.时间对象的属性
对象的属性(小时、分钟、秒、微秒)
my_time=datetime.time(微秒=99999,秒=8,小时=9,分钟=59)
#获取时间对象的属性(小时、分钟、秒、微秒)
打印的小时(f {我的时间}是:{我的时间.小时}) # 09: 59: 08.09999是:9
打印的分钟(f{my_time}是:{ my _ time . minute } )# 09:59:08.09999是:59。
打印(f“{我的时间}中的秒数为:{我的时间。秒}) # 09:59:08.099999中的秒数为:8
打印(f“{我的时间}中的微秒为:{我的时间。微秒}) # 09:59:08.099999中的微秒为:99999
# 结合时间对象属性,我们就可以按位置传参进行单个属性的替换了
打印(日期时间。时间。替换(我的时间,我的时间.小时,我的时间.分钟,我的时间.秒,23)) # 09:59:08.000023
6、格式化时间
常用的格式%H(小时)、%M(分钟)、%S(秒)、%f(微秒)、%h(简写的月份名,一般为英文简写)
# 创建对象
我的时间=日期时间.时间(微秒=99999,秒=8,小时=9,分钟=59)
# 常用的格式%H(小时)、%M(分钟)、%S(秒)、%f(微秒)、%h(简写的月份名,一般为英文简写)
打印(f“{我的时间}格式化后是:,datetime.time.strftime(my_time, % H:% M:% s . % f )# 09:59:08.099999
打印(f“{我的时间}格式化后是:,datetime.time.strftime(my_time, %h:%M:%S.%f ))
打印(f“{我的时间}格式化的类型是:,类型(日期时间。时间。strftime(my _ time, % H:% M:% s . % f )# class str
# 保留至毫秒,利用字符串切片实现
打印(f“{我的时间}格式化后是:,datetime.time.strftime(my_time, %H:%M:%S.%f)[:-3]) #格式化后是: 09:59:08.099
7、ISO标准时间格式转换
国际标准化组织标准的时间格式(两位小时:两位分钟:两位秒.6位微秒)。如08:07:06:000006)
7.1、将时间对象转化为国际标准化组织标准格式的字符串
打印(日期时间。时间。isoformat(my _ time),type(datetime。时间。isoformat(my _ time)))# 08:07:06.000006 class str
print(datetime.time(12),datetime。时间。isoformat(日期时间。时间(12)))# 12:00:00 12:00:00
# 转换前后类型查看,转换前:class datetime.time ,转换后:类" str "
print(type(datetime.time(12))、type(datetime。时间。isoformat(日期时间。时间(12)))
7.2、将国际标准化组织标准时间格式的字符串转换为时间类型(日期时间。时间)
# 创建对象
我的时间=日期时间.时间(微秒=6,秒=6,小时=8,分钟=7)
# 将国际标准化组织标准时间格式的字符串转换为时间类型(日期时间。时间)
# 08:07:06.000001类"日期时间.时间"
打印(日期时间。时间。从isoformat( 08:07:06.000001 ),键入(日期时间。时间。从等格式( 08:07:06.000001 ))
8、附录-完整代码
#编码:utf-8
导入日期时间
# 时间对象类(日期时间.时间类)
# 主要处理时分秒
# 创建对象常用的参数(小时,分钟,秒,微秒)
# 1小时=60分钟=3600秒=36000分秒=360000厘秒=3600000毫秒=36000000000微秒
# 使用datetime.time()按传入的参数创建对象,不传参时创建最小的时间对象
# 时间最大值
打印(日期时间。时间。最大)# 23:59:59.999999
打印(类型(日期时间。时间。max))# class datetime。时间
# 时间最小值
打印(日期时间。时间。分钟)# 00:00:00
打印(类型(日期时间。时间。min))# class datetime。时间
#时间对象之间最小可解析的差值
打印(日期时间。时间。分辨率)# 0:00:00.000001
打印(类型(日期时间。时间。分辨率))# class datetime。时间增量
# 时间对象的创建
# datetime.time(小时、分钟、秒、微秒)
打印(日期时间。time())# 00:00:00
打印(日期时间。时间(12))# 12:00:00
print(datetime.time(12,2)) # 12:02:00
print(datetime.time(12,2,54)) # 12:02:54
print(datetime.time(12,2,54,999999)) # 12:02:54.999999
# 关键字传参,按传入的参数创建对象
print(datetime.time(微秒=99999)) # 00:00:00.099999
print(datetime.time(微秒=99999,秒=8,小时=9,分钟=59)) # 09:59:08.099999
我的时间=日期时间.时间(微秒=99999,秒=8,小时=9,分钟=59)
#替换(自身、小时、分钟、秒、微秒)时间替换函数,
#自我是一个必传的日期时间对象,其余参数可选
# 错误实例如下
# print(日期时间。time.replace())#类型错误:未绑定的方法时间。替换()需要一个参数
# 按位置传参数时必须保证参数值在器规定的范围内
# 顺序从左到右依次是:小时(小时)、分钟(分钟)、第二(秒)、微秒(微秒)
#小时[0~23]、分钟[0~59]、秒[0~59]、微秒[0~999999]
# 一个错误的示例
# print(datetime . time . replace(my _ time,25),my _ time)# value错误:小时必须为0.23
#仅替换小时数
print(datetime . time . replace(my _ time,hour=23),my _ time)# 23:59:08.099999 09:59:08.099999
print(datetime . time . replace(my _ time,23),my _ time)# 23:59:08.099999 09:59:08.099999
#仅分钟更换
print(datetime . time . replace(my _ time,minute=23),my _ time)# 09:23:08.099999 09:59:08.099999
#按位置传递参数以替换分钟。您必须传递两个位置参数,小时和分钟,否则您将被报告为语法错误。
print(datetime . time . replace(my _ time,9,23),my _ time)# 09:23:08.099999 09:59:08.099999
#仅替换秒数
print(datetime . time . replace(my _ time,second=23),my _ time)# 09:59:23.099999 09:59:08.099999
#同样,当按位置传递参数来替换秒时,必须传递三个位置参数:小时、分钟和秒。
print(datetime . time . replace(my _ time,9,59,15),my _ time)# 09:59:15.099999 09:59:08.099999
#只替换细微的数字
print(datetime . time . replace(my _ time,微秒=23),my _ time)# 09:59:08.000023 09:59:08.099999
#同样,在通过按位置传递参数来替换微妙的数字时,必须传递三个位置参数:小时、分钟、秒和微秒。
print(datetime . time . replace(my _ time,9,59,8,23),my _ time)# 09:59:08.000023 09:59:08.099999
#建议按位置传递引用。
#获取时间对象的属性(小时、分钟、秒、微秒)
打印的小时(f {我的时间}是:{我的时间.小时}) # 09: 59: 08.09999是:9
打印的分钟(f{my_time}是:{ my _ time . minute } )# 09:59:08.09999是:59。
打印的秒数(f{my_time}) # 09: 59: 08.099999是:8。
打印中的微秒(f{my_time}是{my_time .微秒}) # 09: 59: 08.09999是:9999。
#结合时间对象属性,我们可以通过按位置传递参数来替换单个属性。
print(datetime . time . replace(my _ time,my_time.hour,my_time.minute,my_time.second,23)) # 09:59:08.000023
#格式化时间
#常用格式%H(小时)、%M(分钟)、%S(秒)、%f(微秒)、%h(缩写月份名,一般用英文缩写)
Print(f{my_time}格式为:,datetime.time.strftime (my _ time, % h:% m:% s . % f )# 09:59:08.09999
打印类型(f{my_time}格式为:,type(datetime . time . strftime(my _ time, % h:% m:% s . % f )# class str
#保留至毫秒
Print(f{my_time}的格式为:,datetime.time.strftime (my _ time, % h:% m:% s.% f) [:-3]) #的格式为:09:59:08.099
# ISO标准时间格式(小时:分钟:秒。微秒)
#将时间对象转换为ISO标准格式的字符串
print(datetime . time . isoformat(my _ time),type(datetime . time . isoformat(my _ time)))# 09:59:08.099999 class str
print(datetime.time(12),datetime . time . isoformat(datetime . time(12)))# 12:00:00 12:00:00
#检查转换前后的类型,转换前:类“datetime.time”,转换后:类“str”
print(type(datetime.time(12))、type(datetime . time . isoformat(datetime . time(12)))
#将ISO标准时间格式的字符串转换为时间类型(datetime.time)
# 12:56:56.100000 class datetime . time
print(datetime . time . from isoformat( 12:56:56.100000 ),type(datetime . time . from isoformat( 12:56:56.100000 ))
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。