更好的時間與日期操作Python庫:Arrow
Arrow是一個Python庫,提供了一種易于理解,智能的方式來創建,操作,格式化和轉換日期與時間。Arrow具有簡單,輕量級的特點。參考 moment.js 和 requests實現。
為什么要設計Arrow?
從可用性角度來看,Python的標準庫和低端模塊都提供了完整的功能,但卻無法很好地工作,開發者使用起來也比較糾結。
- 模塊太多:日期、時間、日歷、datetuil、pytz。
- 時區和時間戳轉換很麻煩,而且容易出錯。
- 時區是顯式的,且比較簡單
- 功能差距:ISO-8601解析、時間跨度、不夠人性化
核心功能:
- 實現datetime接口
- 支持Python 2.6、2.7和3.3
- 默認采用TZ-aware和UTC
- 創建簡潔、智能的接口
- 可以輕松更換和改變屬性
- 豐富的解析和格式化選項
- 時區轉換
- 簡單的時間戳操作
- 時間跨度
- 非常人性化,支持越來越多的語言環境
- 可擴展的工廠架構來支持自定義Arrow派生類型
使用示例:
>>> import arrow
>>> utc = arrow.utcnow()
>>> utc
<Arrow [2013-05-11T21:23:58.970460+00:00]>
>>> utc = utc.replace(hours=-1)
>>> utc
<Arrow [2013-05-11T20:23:58.970460+00:00]>
>>> local = utc.to('US/Pacific')
>>> local
<Arrow [2013-05-11T13:23:58.970460-07:00]>
>>> local.timestamp
1368303838
>>> local.format('YYYY-MM-DD HH:mm:ss ZZ')
'2013-05-11 13:23:58 -07:00'
>>> local.humanize()
'an hour ago'
>>> local.humanize(locale='ko_kr')
'1?? ?' 項目主頁:http://www.baiduhome.net/lib/view/home/1370414219617
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!