1.日期和时间数据类型及工具
结果为:
2016-07-14 22:03:47.969000
2016 7 14
datetime是以毫秒形式存储日期和时间。datetime.timedelta表示两个datetime对象之间的时间差
delta=datetime.datetime(2011,1,7)-datetime.datetime(2008,6,24,8,15)
print delta
print delta.days
print delta.seconds
结果为:
926 days, 15:45:00
926
56700
可以给datetime对象加上(或减去)一个或多个timedelta,这样回产生一个新对象
from datetime import timedelta
start=datetime.datetime(2011,1,7)
print start+timedelta(12)
print start-2*timedelta(12)
结果为:
2011-01-19 00:00:00
2010-12-14 00:00:00
2.字符串和datetime的相互转换
利用str或strftime方法(传入一个格式化字符串),datetime对象和pandas的Timestamp对象可以被格式化为字符串
stamp=datetime.datetime(2011,11,3)
print str(stamp)
print stamp.strftime('%Y-%m-%d')
结果为:
2011-11-03 00:00:00
2011-11-03
datetime.strptime也可以用这些格式化编码将字符串转换为日期
value='2011-01-03'
print datetime.datetime.strptime(value,'%Y-%m-%d')
datestrs=['7/6/2011','8/6/2011']
print [datetime.datetime.strptime(x,'%m/%d/%Y') for x in datestrs]
结果为:
2011-01-03 00:00:00
[datetime.datetime(2011, 7, 6, 0, 0), datetime.datetime(2011, 8, 6, 0, 0)]
datetime.strptime是已知格式进行日期解析最佳方式。但是每次都要编写格式定义是很麻烦的事情,尤其是对于一些常见的日期格式。此时,你可以用dateutil这个第三方包中的parser.parse方法
from dateutil.parser import parse
print parse('2011-01-03')