一、时间类型
- 时间戳(timestamp):特定的时刻。
- 固定时期(period):具体的一段时间,例如2007年1月。
- 时间间隔(interval):由起始和结束时间戳表示。period可以看做interval的特例。
二、Python中的时间数据类型
1.datetime.datetime用于表示timestamp类型
from datetime import datetime
now = datetime.now()
now
datetime.datetime(2018, 7, 3, 22, 29, 56, 321024)
两个datetime之差得到的是时间差
delta = datetime(2011,1,7) - datetime(2008,6,24,8,15)
print(delta) # 时间差
print(delta.days)
print(delta.seconds)
926 days, 15:45:00
926
56700
2.datetime.timedelta用于表示interval类型
from datetime import timedelta
start = datetime(2011,1,7)
start-2*timedelta(12) # timedelta(12)表示12天
datetime.datetime(2010, 12, 14, 0, 0)
三、字符串和datetime的相互转换
1.将datetime转换成字符串:strftime
stamp = datetime(2011,1,3)
print(str(stamp)) # 直接输出
print(stamp.strftime('%Y-%m-%d')) # 格式化输出
2011-01-03 00:00:00
2011-01-03
2.将字符串转换datetime:strptime
value = '2018-07-03'
datetime.strptime(value,'%Y-%m-%d')
datetime.datetime(2018, 7, 3, 0, 0)
四、方便的时间解析工具:dateutil
from dateutil.parser import parse
print(parse('2018-07-03'))
print(parse('3/7/2018',dayfirst=True))
2018-07-03 00:00:00
2018-07-03 00:00:00