智一面的面试题提供python的测试题
 
1、datetime模块
  datatime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、time、datetime、timedelta、tzinfo。但是为了更灵活的处理时间,最好是将time模块和datetime模块中的精髓学习到。
 
① date类:主要用于处理年、月、日;
② time类:主要用于处理时、分、秒;
③ datetime类:date类和time类的综合使用,可以处理年、月、日、时、分、秒;
④ timedelta类:主要用于做时间加减的;
⑤ tzinfo类:时区类;
注意:tzinfo类用的不多,也就不专门讲述了,如果有需要,可以自行学习。
2、time类
1)静态方法和属性:可以直接通过类名调用;
time.min:time类所能表示的最小时间。
time.max:time类所能表示的最大时间。
time.resolution:time类表示时间的最小单位,这里是1微秒;
操作如下:
 
from datetime import *
 
time.max
time.min
time.resolution
 
结果如下:
在这里插入图片描述
 
2)其它常用方法和属性:通过time对象才能调用;
"属性"
t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;
 
"方法"
t.replace(hour=,minute=,second=,microsecond=):生成一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性。(原有对象仍保持不变)  
 
t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
 
t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;
 
先构造一个time对象:
 
# 先构造一个date对象
from datetime import *
 
t = time(17,34,52)
display(t)
 
结果如下:
在这里插入图片描述
① t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;
 
t = time(17,34,52)
display(t)
 
t = time(17,34,52)
display(t.hour,t.minute,t.second,t.microsecond)
 
结果如下:
在这里插入图片描述
 
② t.replace(hour=,minute=,second=,microsecond=):传入指定的hour或minute或second或microsecond,生成一个新时间的time对象,但不改变原有的time对象;
 
t = time(17,34,52)
display(t)
 
new_hour = t.replace(hour=22)
display(new_hour)
 
new_minute = t.replace(minute=30)
display(new_minute)
 
new_second = t.replace(second=55)
display(new_second)
 
z = t.replace(hour=22,minite=22,second=22)
display(z)
 
结果如下:
在这里插入图片描述
 
③ t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
 
t = time(17,34,52)
display(t)
 
display(t.isaoformat())
 
结果如下:
在这里插入图片描述
 
④ t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;
 
t = time(17,34,52)
display(t)
 
t = t.strftime("%H{H}%M{M}%S{S}").format(H="时",M="分",S="秒")
display(t)
 
结果如下:在这里插入图片描述
 
注意:常用的时间格式化符号,可以参考下图;
在这里插入图片描述
————————————————