如何使用Arrow时间库
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"如何使用Arrow时间库",在日常操作中,相信很多人在如何使用Arrow时间库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用Arrow时间库"
千家信息网最后更新 2026年11月02日如何使用Arrow时间库
这篇文章主要介绍"如何使用Arrow时间库",在日常操作中,相信很多人在如何使用Arrow时间库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用Arrow时间库"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
DateParser 和 Dateutil
这是两款比较友好的用于处理各种时间格式的第三方库,它能将各种奇怪写法的时间转换成标准的时间格式,比如:
# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 import time import dateparser from dateutil import parser print(dateparser.parse("2020/11/7 5:01:08")) print(parser.parse("2020"))碰到个需求
最近在做一些自动化文件导出的时候,由于有一些平台有导出的数量限制,比如某某平台如果所选时间是半年,然后累计数据量达到 50w,就会导出失败。
对于这种情况就要做一下时间切分,比如可以分为按月,甚至按周来进行导出,也就是 rangeTime。
当在 Google 上搜索 Python time 或者 Datetime 切分时间的时候发现并没有什么结果,然后就会想起有个更牛的处理时间的库,也就是 Arrow 了。
很多的博客对 Arrow 的讲解也都是一带而过,贴出官方的例子,并没有应用于实际的项目,所以更多 Arrow 的用法也就没有提到。
Arrow
和 DateParser 一样,Arrow 底层也是用 datetime 封装的,在特定的地方可以和 datetime 进行交互。
一些用法展示:
# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 i = arrow.now() # i.replace(day=1) 替换时间为 1 号 # i.shift(months=-1) 偏移量,往前推一个月 # i.format('YYYY-MM-DD') 转换为你想要的时间格式 print(i.shift(days=-30).format('YYYY-MM-DD')) print(i.shift(months=-3).format('YYYY-MM-DD')) # 配合使用,链式法则 print(i.replace(day=1).shift(months=-1).format('YYYY-MM-DD')) print(i.replace(day=1).shift(months=-1).format('YYYY-MM-DD HH:mm:ss'))回到解决刚才的那个需求, Arrow 的时间区间属性可以在一段时间中根据不同时间粒度来进行切分,来达到我们的需求。
# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 import arrow # 开始于当前时间,往前推 120 天 end = datetime.datetime.now() start = end + datetime.timedelta(days=-120) # 获取 120 内的时间范围,以月划分 def timeYmdRange(start=start,end=end): tRange = [] for r in arrow.Arrow.span_range('months', start, end): qTime = [i.format('YYYY-MM-DD') for i in r] tRange.append(qTime) return tRange # 获取 120 内的时间范围,以周划分 def timeWeekRange(start=start,end=end): tRange = [] for r in arrow.Arrow.span_range('weeks', start, end): qTime = [i.format('YYYY-MM-DD') for i in r] tRange.append(qTime) return tRange # 自定义时间格式,按月划分,结果为 202011 def timeMonthRange(start=start,end=end): tRange = [] for r in arrow.Arrow.range('months', start, end): qTime = r.format('YYYYMM') tRange.append(qTime) return tRange for r in timeHmsRange(start, end): print(','.join(r)) print(timeWeekRange())到此,关于"如何使用Arrow时间库"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
时间
格式
学习
更多
需求
utf-8
也就是
平台
时候
结果
范围
处理
帮助
不同
实用
一带而过
接下来
一带
例子
写法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司怎么样
互联网科技工作委员会
今日互联网科技
互联网巨头科技公司
九亚互联网科技
互联网女皇 腾讯科技
亿账通互联网科技
互联网科技公司招聘
互联网科技项目计划书材料类
互联网还是高科技吗
湖北码尼互联网科技有限公司电话
武汉健翔互联网络科技有限公司
黑科技闪耀互联网之光
银川新华互联网科技学校联系电话
互联网科技实习生岗位
互联网领先科技宣传片
易企秀互联网科技是做什么的
九思连强互联网电子科技有限公司
唐山双旺合互联网科技产业园
深圳互联网科技园地址
广州万易互联网科技有限公司
科技互联网企业
唐信互联网科技 大连
互联网 视角下的科技创新
阿里巴巴算科技企业还是互联网
字节跳动和互联网科技
哈尔滨屹滨互联网科技有限公司
中国科技创新与世界互联网大会
上海钢联属于互联网科技股吗
宁波跨境商互联网科技有限公司