更好的時間與日期操作Python庫:Arrow

jopen 12年前發布 | 18K 次閱讀 Arrow Python開發

Arrow是一個Python庫,提供了一種易于理解,智能的方式來創建,操作,格式化和轉換日期與時間。Arrow具有簡單,輕量級的特點。參考 moment.jsrequests實現。

為什么要設計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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!