1、import time
时间分为三种格式
1.1、时间戳
# 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
print(time.time())
# 1617280797.3197777
1.2、格式化的字符
print(time.strftime('%Y-%m-%d %H:%M:%S'))
# 2021-04-01 20:41:03
1.3、结构化的事件对象
obj = time.localtime()
print(obj.tm_year) # 2021 返回年
print(obj.tm_wday) # 3 # 一周的第几天
print(time.localtime()) # 北京时间为准 time.struct_time(tm_year=2021, tm_mon=4, tm_mday=1, tm_hour=20, tm_min=41, tm_sec=26, tm_wday=3, tm_yday=91, tm_isdst=0)
print(time.gmtime()) # 世界标准时间 time.struct_time(tm_year=2021, tm_mon=4, tm_mday=1, tm_hour=12, tm_min=41, tm_sec=26, tm_wday=3, tm_yday=91, tm_isdst=0)
1.4、时间之间的转换:
import time
# 时间分为三种格式(三种格式时化间是可以互相转换的)
# 1、时间戳
print(time.time())
# 1609942223.1627667
# 2、格式化的字符串
print(time.strftime('%Y-%m-%H'))
# 2021-01-22
# 3、结构化的时间
res = time.localtime() # 东八区,中国时间
print(res)
# time.struct_time(tm_year=2021, tm_mon=1, tm_mday=6, tm_hour=22, tm_min=12, tm_sec=33,
# 年 月 这个月的第几天 小时 分钟 秒
# tm_wday=2, tm_yday=6, tm_isdst=0)
# 0开始排星期 一年的第几天 冬令时
res2 = time.gmtime() # 世界标准时间
print(res2)
# time.struct_time(tm_year=2021, tm_mon=1, tm_mday=6, tm_hour=14, tm_min=12, tm_sec=33,
# tm_wday=2, tm_yday=6, tm_isdst=0)
print(res.tm_year) # 单独获取时间的某一部分 哪一年
print(res.tm_mday) # 单独获取时间的某一部分 哪一天
# 三种格式化之间的互相转换
print(time.localtime(33331313)) # 时间戳转结构化的时间
print(time.gmtime(33331313)) # 时间戳转成世界标准时间
print(time.mktime(time.localtime())) # 结构化的时间转时间戳
res = time.strftime("%Y-%m",time.localtime()) # 结构化时间转格式化时间
print(res)
print(time.strptime("2017-11-11 11:11:11","%Y-%m-%d %H:%M:%S")) # 格式化时间转结构化时间
print(time.asctime()) # 以这种时间格式排列显示时间,常见于linux,unix操作系统
# 字符格式化
print(time.asctime())
# Thu Apr 1 21:17:57 2021
print(time.ctime())
# Thu Apr 1 21:17:57 2021
2、datetime模块
import datetime
print(datetime.datetime.now()) # 现在时间
# 2021-01-06 22:33:44.950552
print(datetime.datetime.now() + datetime.timedelta(days=3.5)) # 三天半后的时间
# 2021-01-10 10:33:44.950552
print(datetime.datetime.now() - datetime.timedelta(days=3.5)) # 三天半前的时间
# 2021-01-03 10:33:44.950552
# 特点:可以参与时间运算
start = datetime.datetime.now()
time.sleep(3)
end = datetime.datetime.now()
res = end-start
print(res)
# 0:00:03.002044
print(res.seconds)
# 3 获得时间差,单位为秒
res = datetime.datetime.now()
res1 = res + datetime.timedelta(minutes=3) # 3分钟后的时间,参数可以更改
print(res)
print(res1)
if res<res1:
print('未来时间')
else:
print('过去时间')
time和datetime:
import time
import datetime
now = time.time() # 获得时间戳
print(now)
jgou = time.localtime(now) # 时间戳转结构化
print(jgou)
msg = time.strftime('%Y%m%d %H%M%S',jgou) # 结构化转字符格式化
print(msg)
now1 = datetime.datetime.strptime(msg,'%Y%m%d %H%M%S') # 字符格式化转datetime
print(now1)
jiegou = now1.timetuple() # datetime转结构化
print(jiegou)
now_time = time.mktime(jiegou) # 结构化转时间戳
print(now_time)