最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python日期時間模塊arrow的具體使用

 更新時間:2021年09月02日 10:25:37   作者:tigeriaf  
Python中有很多時間和日期處理的庫,有time、datetime等,本文主要介紹了一下arrow,arrow是一個專門處理時間和日期的輕量級Python庫,感興趣的可以了解一下

Python中有很多時間和日期處理的庫,有time、datetime等,雖然提供了很完整的對日期、時間以及時區(qū)轉換處理的功能,但是方法過多,不易于記憶,而且經常需要各種轉換操作,非常繁瑣,比如時間和時間戳的轉換,格式化時間字符串轉換等等,幾乎每次使用都要先看一下教程文檔。那么有沒有使用起來更人性化的日期時間處理庫呢?接下來就來看一下arrow日期時間庫。

arrow是一個專門處理時間和日期的輕量級Python庫,它提供了一種合理、人性化的方式來創(chuàng)建、操作、格式化、轉換日期、時間和時間戳,可以比較輕易的創(chuàng)建具有時區(qū)意識的日期和時間實例。
可以使用pip install arrow進行安裝。

arrow模塊的使用

獲取arrow對象

Arrow可以很靈活的將多種格式的時間數據轉換成Arrow對象,如下:

import arrow
print(repr(arrow.Arrow(2021, 8, 23, 8)))
print(repr(arrow.get(2021, 8, 23, 8, 40)))
print(repr(arrow.get('2021-08-23 09:00')))
print(repr(arrow.get('2021.08.23')))
print(repr(arrow.get('23/2012/08', 'DD/YYYY/MM')))

執(zhí)行結果如下:

上面幾種方式都可以將字符數據轉換為arrow對象,轉換非常靈活。除此之外,還可以把時間戳轉換為arrow對象。

print(repr(arrow.get(1629683393.6558669)))

獲取當前時間

utc_time = arrow.utcnow()
local_time = arrow.now()
print(utc_time)
print(local_time)

通過utcnow()函數和now()函數分別獲取的是utc時間和本地時間,當然我們也可以在調用now()時指定時區(qū),從而獲取指定時區(qū)的時間,例如arrow.now('US/Pacific')。

時間形式轉換

使用日期時間的時候我們經常需要轉換操作,比如轉換成指定格式的時間字符串,轉換成時間戳等。

轉換成時間字符串

now = arrow.now()

print(now)
print(now.format())
print(now.format("YYYY-MM-DD hh:mm:ss"))
print(now.format("YYYY-MM-DD"))

執(zhí)行結果如下:

看到這個,是不是感覺比datetime模塊的'%Y-%M-%D %h:%m:%s'格式化方式更人性化更便于記憶呢。

轉換成時間戳

可以使用t.timestamp將arrow對象轉換成時間戳。

now.timestamp

獲取數據

轉換為Arrow對象后,我們可以很方便的獲取我們想要的各種時間數據,通過year、month、day、hour、minute、second、week等屬性,如:

now = arrow.now()

print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
print(now.week)

修改時間

有時拿到一個時間時,我們需要對時間就行修改,例如修改時區(qū)、修改時間等等,我們可以使用以下方式去修改。

now = arrow.now()

print(now.format("YYYY-MM-DD hh:mm:ss"))  # 2021-08-23 10:11:04
now_utc = now.to("utc")
print(now_utc.format("YYYY-MM-DD hh:mm:ss"))  # 2021-08-23 02:11:04
now1 = now.replace(day=31, hour=12)
print(now1.format("YYYY-MM-DD hh:mm:ss"))  # 2021-08-31 12:11:04
now2 = now.shift(months=-2)
print(now2.format("YYYY-MM-DD hh:mm:ss"))  # 2021-06-23 10:11:04

我們可以使用to()方法切換時區(qū),使用replace()方法修改時間,使用shift()進行時間的前后推移。

將字符串轉換為arrow對象    arrow.get(string[,format_string])

In [52]: arrow.get('2018-03-22 23:35:34')
Out[52]: <Arrow [2018-03-22T23:35:34+00:00]>

可以從字符串中通過格式參數搜索時間

In [13]: arrow.get('june waw born in May 1999', 'MMMM YYYY')
Out[13]: <Arrow [1999-05-01T00:00:00+00:00]>

arrow對象屬性    datetime,timestamp,naive,tzinfo

In [54]: t.datetime
Out[54]: datetime.datetime(2019, 3, 22, 21, 39, 0, 223147, tzinfo=tzlocal())
 
In [55]: t.timestamp
Out[55]: 1553261940
 
In [58]: t.tzinfo
Out[58]: tzlocal()
 
In [59]: t.naive
Out[59]: datetime.datetime(2019, 3, 22, 21, 39, 0, 223147)

獲取datetime對象的值

In [60]: t.year
Out[60]: 2019
 
In [62]: t.month
Out[62]: 3
 
In [63]: t.day
Out[63]: 22
 
In [64]: t.hour
Out[64]: 21

時間推移    a.shift(**kwargs)

shift方法獲取某個時間之前或之后的時間,關鍵字參數為years,months,weeks,days,hours,seconds,microseconds

In [65]: t.shift(weeks=-1)
Out[65]: <Arrow [2019-03-15T21:39:00.223147+08:00]>
 
In [66]: t.shift(days=20)
Out[66]: <Arrow [2019-04-11T21:39:00.223147+08:00]>
 
In [67]: t.shift(hours=1)
Out[67]: <Arrow [2019-03-22T22:39:00.223147+08:00]>

時間替換   a.replace(**kwargs)

返回一個被替換后的arrow對象,原對象不變

In [68]: t.replace(year=2018)
Out[68]: <Arrow [2018-03-22T21:39:00.223147+08:00]>
 
In [69]: t
Out[69]: <Arrow [2019-03-22T21:39:00.223147+08:00]>

格式化輸出    a.format([format_string])

In [70]: t.format()
Out[70]: '2019-03-22 21:39:00+08:00'
 
In [71]: t.format('YYYY-MM-DD HH-MM-SS')
Out[71]: '2019-03-22 21-03-22'

最牛的是這個人性化輸出    a.humanize()

In [72]: t.humanize()
Out[72]: '2 hours ago

同Python內置日期datetime庫一樣,arrow對象也支持時間的大小對比,還有計算時間差操作,除此之外,還有很多意想不到的操作,感興趣的話,可以查看官方文檔:Arrow: Better dates & times for Python — Arrow 🏹 1.1.1 documentation)

到此這篇關于Python日期時間模塊arrow的具體使用的文章就介紹到這了,更多相關Python日期時間模塊arrow 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Python 中如何使用 setLevel() 設置日志級別

    Python 中如何使用 setLevel() 設置日志級別

    這篇文章主要介紹了在 Python 中使用setLevel() 設置日志級別,Python 提供了一個單獨的日志記錄模塊作為其標準庫的一部分,以簡化日志記錄,本文將討論日志記錄 setLevel 及其在 Python 中的工作方式,需要的朋友可以參考下
    2023-07-07
  • Python如何實現同時進行多個瀏覽器注入

    Python如何實現同時進行多個瀏覽器注入

    瀏覽器注入是一種技術,允許我們在運行中的瀏覽器進程中注入代碼,以便執(zhí)行特定的任務,下面我們就來看看Python如何實現同時進行多個瀏覽器注入吧
    2025-03-03
  • 新建文件時Pycharm中自動設置頭部模板信息的方法

    新建文件時Pycharm中自動設置頭部模板信息的方法

    這篇文章主要介紹了新建文件時Pycharm中自動設置頭部模板信息的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python字符串格式化輸出代碼實例

    Python字符串格式化輸出代碼實例

    這篇文章主要介紹了Python字符串格式化輸出代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 用Python編寫分析Python程序性能的工具的教程

    用Python編寫分析Python程序性能的工具的教程

    這篇文章主要介紹了用Python編寫分析Python程序性能的工具教程,包括了對內存泄漏等常見問題的檢測方法,需要的朋友可以參考下
    2015-04-04
  • python3安裝speech語音模塊的方法

    python3安裝speech語音模塊的方法

    今天小編就為大家分享一篇python3安裝speech語音模塊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python自動化操作Excel方法詳解(xlrd,xlwt)

    Python自動化操作Excel方法詳解(xlrd,xlwt)

    Excel是Windows環(huán)境下流行的、強大的電子表格應用。本文將詳解用Python利用xlrd和xlwt實現自動化操作Excel的方法詳細,需要的可以參考一下
    2022-06-06
  • Python內置庫之webbrowser模塊用法詳解

    Python內置庫之webbrowser模塊用法詳解

    webbrowser模塊是Python自帶的標準庫,無需安裝,可以直接在Python中使用該模塊來打開網頁、PDF文件等,本文給大家詳細介紹了Python webbrowser模塊用法,需要的朋友可以參考下
    2023-08-08
  • 一文帶你學會如何利用Python實現一個三維繪圖系統(tǒng)

    一文帶你學會如何利用Python實現一個三維繪圖系統(tǒng)

    tkinter是Python標準庫中自帶的GUI工具,使用十分方便,所以本文旨在帶大家學會如何將matplotlib嵌入到tkinter中并繪制三維繪圖系統(tǒng),感興趣的可以了解下
    2023-09-09
  • 基于tkinter中ttk控件的width-height設置方式

    基于tkinter中ttk控件的width-height設置方式

    這篇文章主要介紹了基于tkinter中ttk控件的width-height設置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論

赣州市| 崇信县| 毕节市| 定日县| 澄江县| 土默特右旗| 广平县| 衡南县| 商都县| 开远市| 云霄县| 新疆| 黄山市| 松潘县| 忻州市| 利辛县| 饶平县| 盐边县| 福海县| 睢宁县| 江陵县| 恩平市| 蓬安县| 沙坪坝区| 昌吉市| 荥阳市| 改则县| 陇南市| 滦南县| 张家口市| 长兴县| 依兰县| 瑞安市| 怀来县| 交口县| 玉树县| 梁平县| 青田县| 民勤县| 惠来县| 武夷山市|