Arrow日期时间处理库
Arrow是python中最友好的日期时间库,诸如对日期时间数据的创建、操纵、格式化、转化,arrow都可以搞定,而且接口对普通人来说很友好。
为什么不使用python内置模块,而是使用Arrrow?
python标准化库和其他第三方库都有提供日期时间处理操作,但是从应用角度来说,不够好用
太多的库,选择困难。诸如datetime, time, calendar, dateutil, pytz等等
太多的数据类型,记不住。诸如date, time, datetime, tzinfo, timedelta, relativedelta等等
时区、时间戳转换晦涩难懂
非结构日期处理 如“我生于1990腊月”
Arrow类的特性
完全实现的datatime的直接替换
支持python2和python3
默认时区自动感知,使用UTC世界标准时间
为许多常见的输入方案提供超简单的创建选项
支持shift偏移量
字符串日期的识别
时区转换
内置时间戳属性
diy自己的日期类型
安装
!pip3 install arrow
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting arrow
[?25l Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cc/f5/f618f8423fe674a60461e58683edfeead93f4bbf95b9fca0e9699e765b35/arrow-0.15.2-py2.py3-none-any.whl (40kB)
[K |████████████████████████████████| 40kB 2.6MB/s eta 0:00:011
[?25hRequirement already satisfied: python-dateutil in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from arrow) (2.8.0)
Requirement already satisfied: six>=1.5 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from python-dateutil->arrow) (1.12.0)
Installing collected packages: arrow
Successfully installed arrow-0.15.2
获取日期
arrow.utcnow() 获取世界标准时间
arrow.now() 当地时区的时间
arrow.get(datestr, datefmt)
import arrow
now = arrow.utcnow()
print(now)
print(arrow.get('2013-05-11', 'YYYY-MM-DD'))
2019-10-13T08:40:59.289458+00:00
2013-05-11T00:00:00+00:00
print(arrow.get('June was born in May 1980', 'MMMM YYYY', locale='en'))
1980-05-01T00:00:00+00:00
Arrow类的方法和属性
Arrow.to() 转化日期,如从utc转为local
Arrow.shift() 更改日期,向前或者向后偏移一段时间
Arrow.timestamp 转化为时间戳
Arrow.format() 设定日期, 例如
YYYY-MM-DD HH:mm:ss
now.shift(hours=-1)
<Arrow [2019-10-13T07:32:51.357522+00:00]>
前一个月
utc.shift(months=-1)
<Arrow [2019-09-13T08:27:37.736815+00:00]>
时间戳
local.timestamp
1570955385
设定日期格式
Arrow.format(fmt)
fmt日期的格式字符串,例如 YYYY-MM-DD HH:mm:ss
local.format('YYYY-MM-DD HH:mm:ss')
'2019-10-13 16:29:45'
说人话
import arrow
past = arrow.now().shift(years=-1)
past.humanize(locale='en_us')
'a year ago'
future = arrow.now().shift(hours=2)
future.humanize(locale='zh_cn')
'2小时后'
近期文章
顺利开班 | python爬虫分析2019年杭州国庆工作坊顺利开班
课件获取方式,请在公众号后台回复关键词“20191015”