1. 程式人生 > 其它 >python 包之 arrow 日期時間教程

python 包之 arrow 日期時間教程

一、安裝

  • Arrow提供了一個合理的、人性化的方法來建立、操作、格式轉換的日期,時間,和時間戳

  • 幫助我們使用較少的匯入和更少的程式碼來處理日期和時間

pip install arrow

 

二、獲取當前時間

  • 該方法獲得的只是時間物件,物件中存在各種各樣的屬性供使用

import arrow

# 獲取世界標準時間
arrow.utcnow()
# 獲取本地時間
arrow.now()
# 獲取指定時區的時間
rrow.now('US/Pacific')

 

三、時間屬性

import arrow

a = arrow.now()

# 當前年
a.year
# 當前月份
a.month
# 當前天
a.day
# 當前第幾個小時
a.hour
# 當前多少分鐘
a.minute
# 當前多少秒
a.second
# 獲取時間戳
a.timestamp
# 浮點數時間戳
a.float_timestamp
# 轉換為時區
a.to('US/Pacific')

 

四、時間推移

  • shift方法獲取某個時間之前或之後的時間物件

  • 關鍵字引數有years、months、weeks、days、hours、seconds、microseconds

import arrow

a = arrow.now()

# 三週後
a.shift(weeks=+3)
# 一天前
a.shift(days=-1)
# 距離最近a的星期日,weekday從0到6
a.shift(weekday=6)

 

五、時間替換

  • 返回一個被替換後的arrow物件,原物件不變

import arrow

a = arrow.now()
# 時間換成9點
a.replace(hour=9)

 

六、格式化輸出

import arrow

a = arrow.now()

# 預設格式
a.format()
# 自定義時間格式
a.format('YYYY-MM-DD HH:mm:ss ZZ')
# 返回日期和時間的ctime格式化表示
a.ctime()
# 以整數形式返回星期幾(0-6)
a.weekday()
# 以整數形式返回一週中的ISO日(1-7)
a.isoweekday()
# 返回3元組(ISO年,ISO週數,ISO工作日)
a.isocalendar()
# 返回日期的格雷戈裡序數
a.toordinal()

 

七、人性化輸出

import arrow

present = arrow.utcnow()
past = present.shift(hours=-1)

# 人性化輸出一小時前,預設英文
past.humanize()

# 人性化輸出二小時後,預設英文
future = present.shift(hours=2)
future.humanize(present) 

# 自定義地區語言
past.humanize(present, locale='zh')

 

八、時間範圍和區間

import arrow

a = arrow.now()

# a所在的時間區間
a.span('hour')
# a所在區間的開始 
a.floor('hour')
# a所在區間的結尾
a.ceil('hour')

 

九、arrow物件

import arrow

# 將時間戳轉化為arrow物件、可以是整型時間戳、字串時間戳、浮點時間戳
arrow.get(時間戳)
# 將字串轉換為arrow物件
arrow.get('2022-04-04 18:30:45', 'YYYY-MM-DD HH:mm:ss')
# 遵循ISO-8601的字串不需要格式字串引數即可轉換
arrow.get('2022-04-04T13:00:00.000-07:00')
# 可以從字串中通過格式引數搜尋時間
arrow.get('June was born in May 1980', 'MMMM YYYY')
# 直接建立arrow物件
arrow.get(2022, 4, 4)
arrow.Arrow(2022, 4, 4)