前言
大家應該都知道在很多時候我們不得不和時間打交道,但在Python標準庫中處理時間的模塊其實設計的不是很友好,為什么我會這么說?因為我相信大部分人幾乎每次在處理時間數(shù)據(jù)時一而再,再而三的去查文檔,比如時間和文本格式互轉,時間增減等看起來非?;镜牟僮?,在Python中處理起來并不簡單。
最要命的是,在Python標準庫中居然有兩個模塊處理時間,一個叫time,另外一個叫datetime,里面提供了類似的方法但是兩個完全不是一回事。到這還沒完,標準庫里還有一個叫calendar的模塊,也是用來處理時間的。
今天我不帶大家去理解他們三者的關系,因為現(xiàn)在你記住了不代表你以后不會忘記。今天的主角是一個優(yōu)雅到我不能放棄的時間處理庫 - arrow。
簡介
arrow是一個專門處理時間和日期的輕量級Python庫,它提供了一種合理、智能的方式來創(chuàng)建、操作、格式化、轉換時間和日期。
安裝
pip install arrow
使用
我們直接看代碼,注釋既分割線。
>>> import arrow# 獲取當前時間>>> utc = arrow.utcnow()>>> utc<Arrow [2017-05-11T21:23:58.970460+00:00]># 調整時間>>> utc = utc.shift(days=+1, hours=-1)>>> utc<Arrow [2017-05-12T20:23:58.970460+00:00]># 修改時間>>> utc.replace(hour=4, minute=40)<Arrow [2017-05-12T04:40:58.970460+00:00]># 轉換時區(qū)>>> local = utc.to('US/Pacific')>>> local<Arrow [2017-05-11T13:23:58.970460-07:00]># 從文本轉為時間對象>>> arrow.get('2017-05-11T21:23:58.970460+00:00')<Arrow [2017-05-11T21:23:58.970460+00:00]>>>> arrow.get(1367900664)<Arrow [2017-05-07T04:24:24+00:00]>>>> arrow.get('June was born in May 1980', 'MMMM YYYY')<Arrow [1980-05-01T00:00:00+00:00]># 獲取時間戳>>> local.timestamp1368303838# 格式化輸出>>> local.format()'2017-05-11 13:23:58 -07:00'>>> local.format('YYYY-MM-DD HH:mm:ss')'2017-05-11 13:23:58'>>> local.humanize()'an hour ago'# 轉為標準庫對象>>> a.date()datetime.date(2017, 5, 7)>>> a.time()datetime.time(4, 38, 15, 447644)總結
我沒有騙你吧?如果以后你的Python項目需要處理時間,請果斷拋棄標準庫,arrow將拯救你無數(shù)腦細胞。
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
附上arrow官方文檔,更多酷炫用法還是前往官網。
http://arrow.readthedocs.io/en/latest/
新聞熱點
疑難解答
圖片精選