python 包之 arrow 日期時間教程
阿新 • • 發佈:2022-04-07
一、安裝
-
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)