Arrow是一个专门处理时间和日期的轻量级Python库,它提供了一种合理、智能的方式来创建、操作、格式化、转换时间和日期。其设计灵感主要来源于moment.js。
为什么要设计Arrow?
从可用性角度来看,Python的标准库和低端模块都提供了完整的功能,但却无法很好地工作,开发者使用起来也比较纠结。
模块太多:日期、时间、日历、datetuil、pytz。
时区和时间戳转换很麻烦,而且容易出错。
时区是显式的,且比较简单
功能差距:ISO-8601解析、时间跨度、不够人性化
核心功能:
实现datetime接口
支持Python 2.6、2.7和3.3
默认采用TZ-aware和UTC
创建简洁、智能的接口
可以轻松更换和改变属性
丰富的解析和格式化选项
时区转换
简单的时间戳操作
时间跨度
非常人性化,支持越来越多的语言环境
可扩展的工厂架构来支持自定义Arrow派生类型