时间模块
一、time
1.时间戳:从1970年到现在经过的秒数
作用:用于时间间隔的计算
print(time.time())
1585549748.3966906
2.按照某种格式显示的时间:2020-03-30 11:11:11
作用:用于展示时间
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
print(time.strftime('%Y-%m-%d %X'))
2020-03-30 14:29:08 PM
2020-03-30 14:29:08
3.结构化的时间
作用:用于单独获取时间的某一部分
res=time.localtime()
print(res)
print(res.tm_year)
print(res.tm_yday)
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=29, tm_sec=8, tm_wday=0, tm_yday=90, tm_isdst=0)
2020
90
1970-01-05 04:35:33
二、datetime
import datetime
print(datetime.datetime.now()) #现在的时间
print(datetime.datetime.now() + datetime.timedelta(days=3)) #三天后时间
print(datetime.datetime.now() + datetime.timedelta(weeks=1)) #1周后时间
2020-03-30 14:32:43.274980
2020-04-02 14:32:43.274980
2020-04-06 14:32:43.274980
三、时间模块需要掌握的操作
struct_time->时间戳
import time
s_time=time.localtime()
print(time.mktime(s_time))
1585550817.0
时间戳->struct_time
tp_time=time.time()
print(time.localtime(tp_time))
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=46, tm_sec=57, tm_wday=0, tm_yday=90, tm_isdst=0)
print(time.localtime())
print(time.gmtime()) # 世界标准时间,了解 与本地差8个小时
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=14, tm_min=49, tm_sec=17, tm_wday=0, tm_yday=90, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=6, tm_min=49, tm_sec=17, tm_wday=0, tm_yday=90, tm_isdst=0)
struct_time->格式化的字符串形式的时间
s_time=time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))
2020-03-30 14:51:37
格式化->struct_time的字符串形式的时间
print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S'))
time.struct_time(tm_year=1988, tm_mon=3, tm_mday=3, tm_hour=11, tm_min=11, tm_sec=11, tm_wday=3, tm_yday=63, tm_isdst=-1)
真正需要掌握的只有一条format string<------>timestamp
1988-03-03 11:11:11'+7
# format string--->struct_time--->timestamp
struct_time=time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S')
timestamp=time.mktime(struct_time)+7*86400
print(timestamp)
# format string<---struct_time<---timestamp
res=time.strftime('%Y-%m-%d %X',time.localtime(timestamp))
print(res)
573966671.0
1988-03-10 11:11:11
四、了解知识
import time
print(time.asctime())
Mon Mar 30 14:58:57 2020
asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。
如果没有参数,将会将time.localtime()作为参数传入。
import datetime
print(datetime.datetime.now()) #现在时间
print(datetime.datetime.utcnow()) #现在的世界标准时间
print(datetime.datetime.fromtimestamp(333333)) #将时间戳转换
2020-03-30 15:03:55.816084
2020-03-30 07:03:55.816084
1970-01-05 04:35:33