time和datetime模块
一、time模块
1、时间有三中表示方式
1.1、时间戳
从1970年到现在,经历过了多少秒
作用:统计时间
import time
print(time.time())
结果
1610088711.9271822
1.2、格式化的字符串
作用:清晰的看出时间
import time
print(time.strftime('%Y:%m:%d %H:%M:%S'))
print(time.strftime('%Y:%m:%d %X'))
结果
2021:01:08 15:10:25
2021:01:08 15:10:25
1.3、结构化的时间
结构化的时间(struct time):struct_time元组共有9个元素共九个元素,分别为(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
作用:可以只取某年,某月
import time
print(time.localtime())
print(time.localtime().tm_year)
结构
time.struct_time(tm_year=2021, tm_mon=1, tm_mday=8, tm_hour=15, tm_min=16, tm_sec=24, tm_wday=4, tm_yday=8, tm_isdst=0)
2021
2、时间格式之间的转换
# 把格式时间转化为结构化时间
import time
f_time = '2021:01:08 16:07:15'
s_time = time.strptime(f_time, '%Y:%m:%d %H:%M:%S')
print(s_time)
# 把结构化时间转成时间戳
c_time = time.mktime(s_time)
print(c_time)
# 时间戳转化为结构化时间
print(time.localtime(c_time)) # 本地时间
print(time.gmtime(c_time)) # utc时间
# 结构化时间转换成格式化时间
s_time=time.localtime(c_time)
print(time.strftime('%Y:%m:%d %H:%M:%S',s_time))
结果:
time.struct_time(tm_year=2021, tm_mon=1, tm_mday=8, tm_hour=16, tm_min=7, tm_sec=15, tm_wday=4, tm_yday=8, tm_isdst=-1)
1610093235.0
time.struct_time(tm_year=2021, tm_mon=1, tm_mday=8, tm_hour=16, tm_min=7, tm_sec=15, tm_wday=4, tm_yday=8, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=1, tm_mday=8, tm_hour=8, tm_min=7, tm_sec=15, tm_wday=4, tm_yday=8, tm_isdst=0)
2021:01:08 16:07:15
二、datetime模块
时间的运算
import datetime
print(datetime.datetime.now())
#计算三分钟后是什么时间
print(datetime.datetime.now()+datetime.timedelta(minutes=3))
#计算一年后是什么时间
print(datetime.datetime.now()+datetime.timedelta(days=365))
结果
2021-01-08 15:27:37.621765
2021-01-08 15:30:37.621765
2022-01-08 15:29:17.191708