python library time datetime calendar
时间模块简介
1
Python处理时间和日期方面的模块,主要有: time,datetime和calendar 三个模块
time模块
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>>> import time #导入模块
>>> t = time.time() #获取当前时间戳
>>> t
1502700231.32274
>>> t_tuple = time.localtime(t) #由时间戳转换为时间元组
>>> t_tuple
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=14, tm_hour=16, tm_min=43, tm_sec=51, tm_wday=0, tm_yday=226, tm_isdst=0)
>>> t_people = time.ctime(t) #由时间戳转换为"友好显示"
>>> t_people
'Mon Aug 14 16:43:51 2017'
>>> t = time.mktime(t_tuple) #由时间元组转换为时间戳
>>> t
1502700231.0
>>> t_people = time.asctime(t_tuple) #由时间元组转换为"友好显示"
>>> t_people
'Mon Aug 14 16:43:51 2017'
>>> t_1 = time.strftime('%Y-%m-%d %X',t_tuple) #由时间元组转换为自定义显示格式
>>> t_1
'2017-08-14 16:43:51'
>>> t_2 = time.strptime(t_1,'%Y-%m-%d %X') #由自定义时间转换为时间元组显示
>>> t_2
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=14, tm_hour=16, tm_min=43, tm_sec=51, tm_wday=0, tm_yday=226, tm_isdst=-1)datetime模块
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47>>> import datetime #导入datetime模块
>>> dt = datetime.datetime.now() #获取当前时间
>>> dt
datetime.datetime(2017, 8, 14, 16, 59, 56, 358531)
>>> dt.year #获取当前年份
2017
>>> dt.month #获取当前月份
8
>>> dt.day #获取当前月第几天
14
>>> dt.date() #获取年月日
datetime.date(2017, 8, 14)
>>> dt.time() #获取时间
datetime.time(16, 59, 56, 358531)
>>> dt.weekday() #获取今天是周几,默认周一为0
0
>>> dt.isoweekday() #获取今天是周几,默认周一为1
1
>>> dt.isocalendar() #获取日历,年,一年中第几周,周几
(2017, 33, 1)
>>> dt.toordinal() #计算到公元元年过了多少天
736555
>>> dt.fromordinal(54) #以元年为起点,获取指定某天的时间
datetime.datetime(1, 2, 23, 0, 0)
>>> dt.today() #获取当前时间
datetime.datetime(2017, 8, 14, 17, 6, 29, 46188)
>>> dt.utcnow() #获取utc当前时间
datetime.datetime(2017, 8, 14, 9, 6, 49, 240196)
>>> dt.isoformat() #获取时间字符串
'2017-08-14T16:59:56.358531'
>>> dt.ctime() #将时间转换为友好显示
'Mon Aug 14 17:16:49 2017'
>>> dt.strftime('%Y-%m-%d %X') #转换为指定格式
'2017-08-14 17:16:49'
>>> dt.strptime('2017-08-14 17:16:49','%Y-%m-%d %X') #指定格式转换为datetime格式
datetime.datetime(2017, 8, 14, 17, 16, 49)calendar模块
1
2
3
4
5
6
7
8
9>>> import calendar #导入模块
>>> calendar.isleap(2017) #判断是否是闰年
False
>>> calendar.isleap(2020)
True
>>> calendar.leapdays(1990,2020) #返回闰年在1990-2020之间出现的次数
7