python之arrow時間處理模塊


首先安裝 

pip install arrow
直接創建arrow對象
print(arrow.get(2019, 1, 23))  # 2019-01-23T00:00:00+00:00
print(arrow.Arrow(2018, 2, 24))  # 2018-02-24T00:00:00+00:00
arrow對象屬性    datetime,timestamp,native,tzinfo
a = arrow.utcnow()  # 獲取當前時間
print(arrow.now())  # 獲取當前時間  2019-01-23T10:51:10.047906+08:00
b = a.datetime
c = a.timestamp
d = a.naive
print(a)  # 2019-01-23T02:50:42.887795+00:00
print("datetime", b)  # datetime 2019-01-23 03:10:34.940650+00:00
print("timestamp", c)  # timestamp 1548213034
print("a.naive", d)  # a.naive 2019-01-23 03:11:29.784884
獲取datetime對象的值
hour = a.hour
day = a.day
print(f"hour:{hour},day:{day}")  # hour:3,day:23
時間推移    a.shift(**kwargs),  shift方法獲取某個時間之前或之后的時間,關鍵字參數為years,months,weeks,days,hours,seconds,microseconds
print("shift", a.shift(weeks=+3))  # shift 2019-02-13T03:25:29.686405+00:00
時間替換   a.replace(**kwargs) ,返回一個被替換后的arrow對象,原對象不變
print("replace", a.replace(hour=10))  # replace 2019-01-23T10:27:05.175130+00:00
格式化輸出    a.format([format_string])
print("format", a.format())  # format 2019-01-23 03:28:14+00:00
print("format", a.format('YYYY-MM-DD HH:mm:ss ZZ'))  # format 2019-01-23 03:29:05 +00:00
將時間戳轉化為arrow對象    arrow.get(timestamp)  時間戳可以是int,float或者可以轉化為float的字符串
print(arrow.get(1548211919.1432989))  # 2019-01-23T02:51:59.143299+00:00
 時間范圍和區間    a.span(string), a.floor(), a.ceil()
print("a所在的時間", a)
print("a所在的時間區間", a.span("hour"))
print("a所在區間的開始", a.floor("hour"))
print("a所在區間的結尾", a.ceil("hour"))
"""
一個小時的時間區間:
a所在的時間 2019-01-23T03:39:08.401566+00:00
a所在的時間區間 (<Arrow [2019-01-23T03:00:00+00:00]>, <Arrow [2019-01-23T03:59:59.999999+00:00]>)
a所在區間的開始 2019-01-23T03:00:00+00:00
a所在區間的結尾 2019-01-23T03:59:59.999999+00:00
"""
arrow.Arrow.range 與arrow.Arrow.span_rang
import datetime

start = datetime.datetime(2018, 2, 24, 12, 30)
end = datetime.datetime(2018, 2, 24, 15, 20)
for r in arrow.Arrow.span_range('hour', start, end):  # 獲取start,end之間的時間區間
    print(r)
for r in arrow.Arrow.range('hour', start, end):  # 獲取間隔單位時間的時間
    print(r)

"""
(<Arrow [2018-02-24T12:00:00+00:00]>, <Arrow [2018-02-24T12:59:59.999999+00:00]>)
(<Arrow [2018-02-24T13:00:00+00:00]>, <Arrow [2018-02-24T13:59:59.999999+00:00]>)
(<Arrow [2018-02-24T14:00:00+00:00]>, <Arrow [2018-02-24T14:59:59.999999+00:00]>)
(<Arrow [2018-02-24T15:00:00+00:00]>, <Arrow [2018-02-24T15:59:59.999999+00:00]>)
2018-02-24T12:30:00+00:00
2018-02-24T13:30:00+00:00
2018-02-24T14:30:00+00:00
"""

參考文檔:

# 官方文檔  https://arrow.readthedocs.io/en/latest/

# 參考博文: https://blog.csdn.net/dagu131/article/details/79365301


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM