Python使用arrow庫處理時間資料的範例詳解

黄舟
發布: 2017-10-10 10:47:42
原創
2015 人瀏覽過

雖然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(&#39;US/Pacific&#39;)
>>> local
<Arrow [2017-05-11T13:23:58.970460-07:00]>

# 从文本转为时间对象
>>> arrow.get(&#39;2017-05-11T21:23:58.970460+00:00&#39;)
<Arrow [2017-05-11T21:23:58.970460+00:00]>

>>> arrow.get(1367900664)
<Arrow [2017-05-07T04:24:24+00:00]>

>>> arrow.get(&#39;June was born in May 1980&#39;, &#39;MMMM YYYY&#39;)
<Arrow [1980-05-01T00:00:00+00:00]>

# 获取时间戳
>>> local.timestamp
1368303838

# 格式化输出
>>> local.format()
&#39;2017-05-11 13:23:58 -07:00&#39;

>>> local.format(&#39;YYYY-MM-DD HH:mm:ss&#39;)
&#39;2017-05-11 13:23:58&#39;

>>> local.humanize()
&#39;an hour ago&#39;

# 转为标准库对象
>>> a.date()
datetime.date(2017, 5, 7)

>>> a.time()
datetime.time(4, 38, 15, 447644)
登入後複製

總結

我沒有騙你吧?如果以後你的Python專案需要處理時間,請果斷拋棄標準庫,arrow將拯救你無數腦細胞。

以上是Python使用arrow庫處理時間資料的範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板