Python中处理日期时间库的使用方法

最近在搞一个项目,遇到时间处理相关的需求。真的是实战需求导致学习需求,于是百度谷歌了一番,常用的时间处理方法和函数整理出本文。用百分之20时间,学会解决时间问题百分之80的问题。

常用的库有time、datetime。其中datetime库是对time库的封装,所以使用起来更加便捷。date是指日期时间(年月日)处理,time往往更加细小的单位(小时分秒等)的时间处理。

一、datetime库

1.1 datetime.date类

表示日期的类,常用的属性有year、month、day。参数都为整数。

日期的标准化格式符号

以规定的格式返回。

生成如‘2018-01-01’

今天

根据给定的时间戮,返回一个date对象

1.2 datetime.time类

表示时间的类,参数包括hour、minute、second、microsecond。 time类的方法同datetime类。

看看isoformat、strftime方法会返回什么

时间的格式化处理

1.3 datetime.datetime类

日期实践类,常用的参数包含year、month、day、hour、minute、second、microsecond。但是至少要包含year、month、day三个参数。

只含有年月日

看看isoformat、strftime方法会返回什么

1.4 datetime.timedelta类

表示时间间隔类,给一个时间点加上此类,即可得到一个新的时间。

参数包含days、hours、minutes、seconds、microseconds。

35天间隔

现在+/-时间间隔操作

二、time库

常用的方法有time、localtime

三、pandas库时间处理函数

获取当前时间,并返回出年月日规范格式。形如 2017-01-04

常用的方法有:

3.1 根据始末时间生成时间段

pd.date_range(start, end, freq)生成一个时间段

freq参数由英文(M D H Min 。。。)、英文数字结合。D表示一天,M表示一月如20D表示20天,5M表示5个月。

3.2 根据起始向后生成时间段

pd.date_range(日期字符串, periods=5, freq='T')生成一个时间段

periods :时间段长度,整数类型

freq:时间单位。月日时分秒。M D H ...

我们发现date_range()生成的是index,那么我们就可以索引为日期类型的dateframe

3.3 根据给定时间点向前(向后)生成时间段

pd.bdate_range(end,periods,freq) 根据end时间点开始,以freq为单位,向前生成周期为period的时间序列

pd.bdate_range(start,periods,freq) 根据start时间点开始,以freq为单位,向后生成周期为period的时间序列

改变时间间隔

3.4 可以统一日期格式

3.5 提取指定日期的数据

如下tm_rng是以5小时时间间隔,生成了20个数据。我们只要2018-01-02的数据。对Series或Dataframe都可以使用日期字符串操作,选取指定时间范围的数据。

数据采集文本处理分析图片数据处理其他

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180105G03YRR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券