python时间和日期

来源《利用python进行数据分析》P47-49

datetime模块

python内置了datetime模块,提供了datetime、date和time类型

from datetime import datetime, date, time

datetime方法

datetime包含日期和时间,定义方法如下:

dt = datetime(2011, 10, 29, 20, 30, 21)

可以从datetime中直接获取日期、时间等信息

# 获取日
dt.day # 29
# 获取分钟
dt.minute # 30
# 获取日期
dt.date() # datetime.date(2011, 10, 29)
# 获取时间
dt.time() # datetime.time(20, 30, 21)

datetime与字符串转换

strftime方法可将datetime转换为字符串

dt.strftime('%m/%d/%Y %H:%M')
# '10/29/2011 20:30'

strptime函数可将字符串转换为datetime对象

datetime.strptime('20091031','%Y%m%d')
# datetime.datetime(2009, 10, 31, 0, 0)

下面是datetime格式化说明

类 型 描述
%Y 四位的年份
%y 两位的年份
%m 两位的月份[01,12]
%d 两位的天数值[01,31]
%H 24小时制[00,23]
%I 12小时制[01,12]
%M 两位的分钟值[00,59]
%S 秒值[00,61], 60、61用于区分闰秒
%w 星期值[0-星期天,6]
%U 一年中第几个星期的值[00,53],星期天是每周第一天,第一个星期天前的一周是第0个星期
%W 同上,星期一是每周第一天,第一个星期一前的一周是第0个星期
%F %Y-%m-%d的简写,如2012-4-18
%D %m/%d%y的简写,如04/18/12

datetime时间序列值的替换

在聚合或分组时间序列数据时,会常常用到替代datetime时间序列中的一些值,比如将分钟、秒替换为0

dt.replace(minute=0,second=0)
# datetime.datetim(2011, 10, 29, 20, 0)

由于datetime.datetime是不可变类型,以上方法都是产生新的对象。

时间间隔timedelta

两个不同的datetime对象相减会产生一个datetime.timedelta类型的对象

dt2 = datetime(2011, 11, 15, 22, 30)
delta = dt2 - dt
# delta = datetime.timedelta(17, 7179)
# 表示间隔17天又7179秒

将timedelta加到一个datetime上,将产生一个新的对象

dt + delta
# datetime.datetime(2011, 11, 15, 22, 30)

你可能感兴趣的:(python,字符串,数据分析)