In [10]: pd.datetime(2018,4,1)
Out[10]: datetime.datetime(2018, 4, 1, 0, 0)
表示时间轴上的一个时刻。它提供了方便的时区转换功能。
调用Timestamp()创建任意时间点:
In [98]: pd.Timestamp('2018-08-1 08:02:35')
Out[98]: Timestamp('2018-08-01 08:02:35')
调用.tz_localize()转换为指定时区的当前时间
In [99]: pd.Timestamp('2018-08-1 08:02:35').tz_localize("Asia/Shanghai")
Out[99]: Timestamp('2018-08-01 08:02:35+0800', tz='Asia/Shanghai')
Period表示一个标准的时间段。例如某年、某月、某日、某小时等。时间的长短由freq决定。
调用Period()创建任意时间段:
In [100]: pd.Period('2018-08-1 08:02:35',freq='M')
Out[100]: Period('2018-08', 'M')
通过调用pd.Timedelta()之间创建时间间隔Timedelta对象:
In [102]: pd.Timedelta(weeks=2,days=10,hours=12,minutes=2.4,seconds=10.3)
Out[102]: Timedelta('24 days 12:02:34.300000')
时间戳Timestamp转换为时间段Period
In [104]: pd.Timestamp('2018-08-1 08:02:35').to_period(freq='S')
Out[104]: Period('2018-08-01 08:02:35', 'S')
时间段Period转换为时间戳Timestamp
In [105]: pd.Period('2018-08-1 08:02:35',freq='M').to_timestamp()
Out[105]: Timestamp('2018-08-01 00:00:00')
将两个时间戳Timestamp相减得到时间间隔Timedelta对象
In [106]: pd.Timestamp('2018-08-1 08:02:35')-pd.Timestamp('2018-08-1 07:02:35')
Out[106]: Timedelta('0 days 01:00:00')
strptime(str)将字符串转换为时间(需要指定格式)
In [11]: value='2018,3,1'
In [12]: pd.strptime(value,'%Y-%m-%d') #将字符串转换为时间
Out[12]: datetime.datetime(2018, 3, 1, 0, 0)
第三方库dateutil.parser的时间解析函数(此时不需要指定格式)
In [14]: from dateutil.parser import parse
In [15]: parse(value)
Out[15]: datetime.datetime(2018, 3, 1, 0, 0)
格式 | 说明 |
---|---|
%Y | 4位数的年 |
%y | 2位数的年 |
%m | 2位数的月[01,12] |
%d | 2位数的日[01,31] |
%H | 时(24小时制)[00,23] |
%l | 时(12小时制)[01,12] |
%M | 2位数的分[00,59] |
%S | 秒[00,61]有闰秒的存在 |
%w | 用整数表示的星期几[0(星期天),6] |
%F | %Y-%m-%d简写形式例如,2017-06-27 |
%D | %m/%d/%y简写形式 |