使用python的时候,经常需要各种时间相互转换,大概简单记录下.

类型互转

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
import datetime

import time

#string转datetime

>>>str = '2016-12-05'

>>>date_time = datetime.datetime.strptime(str,'%Y-%m-%d')

>>>date_time

datetime.datetime(2016,12,05,0,0)

#datetime转string

>>>date_time.strftime('%Y-%m-%d')

'2016-12-05'

#datetime转时间戳

>>>time_time = time.mktime(date_time.timetuple())

>>>time_time

1353254400.0

#时间戳转string

>>>time.strftime('%Y-%m-%d',time.localtime(time_time))

'2016-12-05'

#date转datetime

>>>date = datetime.date.today()

>>>date

>>>datetime.date(2016,12,05)

>>>datetime.datetime.strptime(str(date),'%Y-%m-%d') #将date转换为str,在由str转换为datetime

>>>datetime.datetime(2016,12,05,0,0)

时间加减

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> from datetime import datetime, timedelta

>>> now = datetime.now()

>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)

>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)

>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)

>>> now + timedelta(days=2, hours=12)
datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)