雖然Python提供了多個內建模組用於操作日期時間,但有的時候並不能滿足我們的需求,所以下面這篇文章主要給大家介紹了關於Python使用arrow庫如何優雅地處理時間數據的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
大家應該都知道在很多時候我們必須和時間打交道,但在Python標準庫中處理時間的模組其實設計的不是很友好,為什麼我會這麼說?因為我相信大部分人幾乎每次在處理時間資料時一而再,再而三的去查文檔,比如時間和文字格式互轉,時間增減等看起來非常基本的操作,在Python中處理起來並不簡單。
最要命的是,在Python標準庫中居然有兩個模組處理時間,一個叫time,另外一個叫datetime,裡面提供了類似的方法但是兩個完全不是一回事。到這還沒完,標準庫裡還有一個叫calendar的模組,也是用來處理時間的。
今天我不帶大家去理解他們三者的關係,因為現在你記住了不代表你以後不會忘記。今天的主角是一個優雅到我不能放棄的時間處理庫 - arrow。
簡介
arrow是一個專門處理時間和日期的輕量級Python庫,它提供了一種合理、智慧的方式來建立、操作、格式化、轉換時間和日期。
安裝
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]> # 转换时区 >>> 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.timestamp 1368303838 # 格式化输出 >>> 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將拯救你無數腦細胞。
以上是Python使用arrow庫處理時間資料的範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!