先简单的了解下日期和时间数据类型及工具
python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。
datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。
给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象
from datetime import datetimefrom datetime import timedeltanow = datetime.now()nowdatetime.datetime(2017, 6, 27, 15, 56, 56, 167000)datetime参数:datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])delta = now - datetime(2017,6,27,10,10,10,10)deltadatetime.timedelta(0, 20806, 166990)delta.days 0delta.seconds 20806delta.microseconds 166990
只有这三个参数了!
datetime模块中的数据类型
类型 | 说明 |
---|---|
date | 以公历形式存储日历日期(年、月、日) |
time | 将时间存储为时、分、秒、毫秒 |
datetime | 存储日期和时间 |
timedelta | 表示两个datetime值之间的差(日、秒、毫秒) |
字符串和datetime的相互转换
1)python标准库函数
日期转换成字符串:利用str 或strftime
字符串转换成日期:datetime.strptime
stamp = datetime(2017,6,27)str(stamp) '2017-06-27 00:00:00'stamp.strftime('%y-%m-%d')#%Y是4位年,%y是2位年 '17-06-27'#对多个时间进行解析成字符串date = ['2017-6-26','2017-6-27']datetime2 = [datetime.strptime(x,'%Y-%m-%d') for x in date]datetime2[datetime.datetime(2017, 6, 26, 0, 0), datetime.datetime(2017, 6, 27, 0, 0)]
2)第三方库dateutil.parser的时间解析函数
from dateutil.parser import parseparse('2017-6-27') datetime.datetime(2017, 6, 27, 0, 0)parse('27/6/2017',dayfirst =True) datetime.datetime(2017, 6, 27, 0, 0)
3)pandas处理成组日期
pandas通常用于处理成组日期,不管这些日期是DataFrame的轴索引还是列,to_datetime方法可以解析多种不同的日期表示形式。
date ['2017-6-26', '2017-6-27']import pandas as pdpd.to_datetime(date) DatetimeIndex(['2017-06-26', '2017-06-27'], dtype='datetime64[ns]', freq=None)
datetime 格式定义
代码 | 说明 |
---|---|
%Y | 4位数的年 |
%y | 2位数的年 |
%m | 2位数的月[01,12] |
%d | 2位数的日[01,31] |
%H
学习交流
热门图片
猜你喜欢的新闻
新闻热点 2020-02-16 09:52:44
2020-02-15 15:53:44
2020-02-11 22:02:38
2020-02-11 21:45:12
2020-02-07 10:36:18
2020-02-06 12:16:44
疑难解答 |