一、time和datetime模块
(一)time:
1.时间戳:从1970年到现在经过的秒数
作用:用于时间间隔的计算
import time
print(time.time())
2.按照某种格式显示的时间,如:2021-09-16 14:27:52
作用:用于展示时间
import time
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
print(time.strftime('%Y-%m-%d %X'))
3.结构化的时间
作用:用于单独获取时间的某一部分
import time
res=time.localtime()
print(res)
print(res.tm_year)
print(res.tm_yday)
(二)datetime:
datetime.datetime.now()方法可以直接按格式输出时间,通过timedelta()方法,设定days,weeks,months等参数可以在格式基础上得到预期时间。
import datetime
print(datetime.datetime.now())
print(datetime.datetime.now() + datetime.timedelta(days=3))
print(datetime.datetime.now() + datetime.timedelta(weeks=1))
二、时间格式的转换
1.struct_time->时间戳
import time
s_time=time.localtime()
print(time.mktime(s_time))
2.时间戳->struct_time
import time
tp_time=time.time()
print(time.localtime(tp_time))
3.struct_time->格式化的字符串形式的时间
import time
s_time=time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))
4.格式化的字符串形式的时间->struct_time
import time
print(time.strptime('2021-09-16 14:56:11','%Y-%m-%d %H:%M:%S'))
三、重点掌握
格式化的字符串形式的时间<--->时间戳,转换为时间戳后进行时间的运算
import time
# 实现2021-09-16加7天操作,format string--->struct_time--->timestamp
struct_time = time.strptime('2021-09-16 15:04:11', '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(struct_time) + 7 * 86400
s_time = time.localtime(timestamp)
print(time.strftime('%Y-%m-%d %H:%M:%S', s_time))
四、了解知识
import time
import datetime
print('1 {}'.format(time.asctime()))
print('2 {}'.format(datetime.datetime.now())) # 系统的本地时间,东八区
print('3 {}'.format(datetime.datetime.utcnow())) # 世界标准时间
print('4 {}'.format(time.gmtime())) # 世界标准时间,结构化时间格式
print('6 {}'.format(datetime.datetime.fromtimestamp(666666))) # 时间戳转换成格式化字符串日期时间