python 小知识 -python 时间操作
时间操作是开发过程中必备的知识点,这里分享日常常用的时间操作方式
python 中时间的库有 time 和 datetime,pandas 也有提供相应的时间处理函数。
时间操作可以总结为:
时间戳操作,时间字符格式转换为时间戳,便于计算和存储
时间格式化,一般是时间戳转换为可读的时间格式如 yyyy-mm-dd HH:MM:SS
时间的计算:时间的加减
获取时间的属性:如周,月,年等属性信息
1. 时间戳操作
上述过程可以分解为:
datetime 库提供了 strptime 方法将字符串以一定的时间格式如'%Y-%m-%d %H:%M:%S'转换为 datetime 格式
通过 datetime 的
timestamp()
转换为时间戳
字符转换为时间戳,主要用途有:
以整形格式,存储或者作为索引,更节省空间
以整形的方式进行时间操作,比如前一天就是减去 86400
2.时间格式化
那时间戳整形如何转换为可视的时间格式呢?
从上面例子可知, 通过 datetime 的 strftime 函数将 datetime 格式的转换为指定格式的字符输出。
当然必须通过 fromtimestamp 转换为 datetime 类型
从上面可以,要完成字符和时间戳时间的相互转换,都必须转换为中间格式 datetime 进行过渡。
3.时间的计算
时间计算也是时间操作最常见的操作,有两种方法:
一种是: 转换为时间戳,直接进行加减操作,有需要转换为字符时,通过 datetime 格式中间进行过渡
另一种是:通过 datetime 提供 timedelta 方法,实现在 datetime 格式下加减
从上可知,timedelta 提供从周,天,小时,分,秒,微秒的计量单位,通过 datetime-timedelta 来实现时间的加减,需要的话可以转换为时间戳和字符。
顺便普及下,类别之间是怎么做加减的呢?python 提供了内部方法__sub__
和 __add__
只要实现这两个方法就可以了。
获取时间的属性
datetime 格式提供周,天,小时,分,秒等相关的时间属性,以及星期几的信息如
4. pandas 中时间处理
pandas 中通过 Timestamp 方式提供了时间戳和字符时间之间转换,参考如下:
版权声明: 本文为 InfoQ 作者【AIWeker】的原创文章。
原文链接:【http://xie.infoq.cn/article/78673edb78820276592a6c967】。文章转载请联系作者。
评论