1.日期时间模块
- datetime:日期
- time:时间
- calendar:日历
- 时间间隔是以秒为单位
- 每个时间戳都以自从1970.1.1经历了多长时间计算的
- 时间戳:当前时间距离1970.1.1的秒数
2.time时间模块
- UTC:格林威治天文时间,世界标准时间,中国UTC+8
- DST:夏令时
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200224155417400.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NreV9NYXphcmluZQ==,size_16,color_FFFFFF,t_70)
import time
T = time.time()
print(T)
g = time.gmtime(T)
print(g)
'''
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=24, tm_hour=7, tm_min=14, tm_sec=54, tm_wday=0, tm_yday=55, tm_isdst=0)
'''
l = time.localtime(T)
print(l)
'''
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=24, tm_hour=15, tm_min=16, tm_sec=50, tm_wday=0, tm_yday=55, tm_isdst=0)
'''
c = time.mktime(l)
print(c)
c1 = time.mktime((2020,2,24,14,16,50,0,55,0))
print(c1)
c2 = time.ctime(T)
print(c2)
s = time.strftime("%Y-%m-%d %H:%M:%S",l)
print(s)
print(time.strptime('2018-9-30 11:32:23', '%Y-%m-%d %H:%M:%S'))
time.sleep(5)
2.2 练习:假如我有一个时间字符串,然后向得到这个字符串所对应时间3天之后得时间
import time
time1 = "2017-5-7"
p1 = time.strptime(time1, '%Y-%m-%d')
t1 = time.mktime(p1)
t3 = t1 + 3 *24 * 3600
f = time.strftime("%Y.%m.%d",time.localtime(t3))
print(f)
3.datetime日期模块
- datetime比time更加高级,对time进行封装
import datetime
d1 = datetime.datetime.now()
print(d1)
d2 = datetime.datetime(2020,2,24,16,0,32,3623)
print(d2)
d4 = d1.strftime("%Y-%m-%d")
print(d4)
print(type(d4))
d5 = datetime.datetime.strptime(d4,"%Y-%m-%d")
print(d5)
d6 = datetime.datetime(2018,4,2,10,56,00,3623)
d7 = datetime.datetime(2018,4,5,10,56,32,3623)
d8 = d7 - d6
print(d8)
print(d8.days)
print(d8.seconds)
4.timedelta
- datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedalta对象
- timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
import datetime
t1 = datetime.datetime.now()
t2 = datetime.timedelta(days=1)
result = t1 + t2
print(result)
result = t1 - t2
print(result)
print(t2.total_seconds())
5.calendar日历模块
import calendar
print(calendar.month(2020,2))
'''
输出:
February 2020
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29
'''
print(calendar.monthcalendar(2020,2))
'''
输出:
[[0, 0, 0, 0, 0, 1, 2], [3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20, 21, 22, 23], [24, 25, 26, 27, 28, 29, 0]]
'''
print(calendar.calendar(2020))
'''
输出:
2020
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29
30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1 2 3 4 5 6
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
'''
print(calendar.isleap(2020))
print(calendar.leapdays(2000,2020))
print(calendar.monthrange(2020,2))
'''
输出:(5, 29) 表示当月开始第一天为星期五,这个月有29天
'''
print(calendar.weekday(2020,2,2))