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

Python+Delorean實(shí)現(xiàn)時(shí)間格式智能轉(zhuǎn)換

 更新時(shí)間:2022年04月24日 10:22:39   作者:Ckend  
DeLorean是一個(gè)Python的第三方模塊,基于?pytz?和?dateutil?開發(fā),用于處理Python中日期時(shí)間的格式轉(zhuǎn)換。本文將詳細(xì)講講DeLorean的使用,感興趣的可以了解一下

1.介紹

DeLorean是一個(gè)Python的第三方模塊,基于 pytz 和 dateutil 開發(fā),用于處理Python中日期時(shí)間的格式轉(zhuǎn)換。

由于時(shí)間轉(zhuǎn)換是一個(gè)足夠微妙的問題,DeLorean希望為移位、操作和生成日期時(shí)間提供一種更干凈、更省事的解決方案。比如,實(shí)例化字符串形式的時(shí)間對(duì)象,Delorean只需要 parse 指定字符串,不需要聲明其格式就可以進(jìn)行轉(zhuǎn)換。

至于 Delorean 這個(gè)模塊名稱的由來,Delorean 是電影《回到未來》里的那輛極為炫酷的鷗翼汽車,采用這部電影里的非常具有代表性的汽車的名字作為庫名,作者估計(jì)也是想表達(dá)使用這個(gè)庫能讓你在時(shí)空里任意遨游,沒有掣肘。

這個(gè)模塊最讓我感到智能的是,它能自動(dòng)識(shí)別字符串的時(shí)間格式,轉(zhuǎn)換為 Delorean 對(duì)象,而且這個(gè) Delorean 對(duì)象和 Datetime 對(duì)象是相通的:

from?delorean?import?parse
parse("2011/01/01 00:00:00 -0700")
# Delorean(datetime=datetime.datetime(2011, 1, 1, 0, 0), timezone=pytz.FixedOffset(-420))
parse("2018-05-06")
# Delorean(datetime=datetime.datetime(2018, 6, 5, 0, 0), timezone='UTC')

下面就來介紹一下它的基本使用方法。

2.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda

(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn)

請(qǐng)選擇以下任一種方式輸入命令安裝依賴

1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。

2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。

3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

pip?install?Delorean

3.Delorean基礎(chǔ)使用

輕松獲取當(dāng)前時(shí)間:

from?delorean?import?Delorean

d = Delorean()
print(d)
# Delorean(datetime=datetime.datetime(2021, 10, 6, 9, 5, 57, 611589), timezone='UTC')

將datetime格式的時(shí)間轉(zhuǎn)化為Delorean:

import?datetime
from?delorean?import?Delorean

d = Delorean()
print(d)
d = Delorean(datetime=datetime.datetime(2018,?5,?10,?8,?52,?23,?560811), timezone='UTC')
# 這里默認(rèn)的是UTC時(shí)間
print(d)
# Delorean(datetime=datetime.datetime(2021, 10, 6, 9, 5, 57, 611589), timezone='UTC')
# Delorean(datetime=datetime.datetime(2018, 5, 10, 8, 52, 23, 560811), timezone='UTC')

轉(zhuǎn)換為國(guó)內(nèi)時(shí)區(qū):

import?datetime
from?delorean?import?Delorean

d = Delorean(datetime=datetime.datetime(2018,?5,?10,?8,?52,?23,?560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
print(d)
# Delorean(datetime=datetime.datetime(2018, 5, 10, 16, 52, 23, 560811), timezone='Asia/Shanghai')

輸出為 datetime、date 也不在話下:

import?datetime
from?delorean?import?Delorean

d = Delorean(datetime=datetime.datetime(2018,?5,?10,?8,?52,?23,?560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
print(d.datetime)
print(d.date)
# 2018-05-10 16:52:23.560811+08:00
# 2018-05-10

查看時(shí)間戳及UTC時(shí)間:

import?datetime
from?delorean?import?Delorean

d = Delorean(datetime=datetime.datetime(2018,?5,?10,?8,?52,?23,?560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
print(d.epoch)
print(d.naive)
# 1525942343.560811
# 2018-05-10 08:52:23.560811

用unix時(shí)間戳初始化Delorean:

from?delorean?import?epoch
d = epoch(1357971038.102223).shift("Asia/Shanghai")
print(d)
# Delorean(datetime=datetime.datetime(2013, 1, 12, 14, 10, 38, 102223), timezone='Asia/Shanghai')

Delorean支持timedelta的時(shí)間加減法。Delorean可以使用timedelta進(jìn)行加減,得到一個(gè)Delorean對(duì)象:

import?datetime
from?delorean?import?Delorean

d = Delorean(datetime=datetime.datetime(2018,?5,?10,?8,?52,?23,?560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
print(d)
d2 = d + datetime.timedelta(hours=2)
print(d2)
d3 = d - datetime.timedelta(hours=3)
print(d3)
# Delorean(datetime=datetime.datetime(2018, 5, 10, 16, 52, 23, 560811), timezone='Asia/Shanghai')
# Delorean(datetime=datetime.datetime(2018, 5, 10, 18, 52, 23, 560811), timezone='Asia/Shanghai')
# Delorean(datetime=datetime.datetime(2018, 5, 10, 13, 52, 23, 560811), timezone='Asia/Shanghai')

4.Delorean高級(jí)使用

通常情況下我們不關(guān)心有多少微妙或者多少秒,因此Delorean提供了非常方便的過濾方式:

from?delorean?import?Delorean

d = Delorean()
print(d)
# Delorean(datetime=datetime.datetime(2019, 3, 14, 4, 0, 50, 597357), timezone='UTC')
d.truncate('second')
# Delorean(datetime=datetime.datetime(2019, 3, 14, 4, 0, 50), timezone='UTC')
d.truncate('hour')
# Delorean(datetime=datetime.datetime(2019, 3, 14, 4, 0), timezone='UTC')
d.truncate('month')
# Delorean(datetime=datetime.datetime(2019, 3, 1, 0, 0), timezone='UTC')
d.truncate('year')
# Delorean(datetime=datetime.datetime(2019, 1, 1, 0, 0), timezone='UTC')

另外,datetime格式的字符串處理的時(shí)候轉(zhuǎn)換需要標(biāo)明各種各樣的格式,在Delorean里,我們不需要那么麻煩,直接parse就可以了:

from?delorean?import?parse
parse("2011/01/01 00:00:00 -0700")
# Delorean(datetime=datetime.datetime(2011, 1, 1, 0, 0), timezone=pytz.FixedOffset(-420))
parse("2018-05-06")
# Delorean(datetime=datetime.datetime(2018, 6, 5, 0, 0), timezone='UTC')

以上就是Python+Delorean實(shí)現(xiàn)時(shí)間格式智能轉(zhuǎn)換的詳細(xì)內(nèi)容,更多關(guān)于Python Delorean時(shí)間格式轉(zhuǎn)換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

东丰县| 辉县市| 桐庐县| 南木林县| 乐昌市| 汕头市| 纳雍县| 广宁县| 英山县| 丹阳市| 泽州县| 岑溪市| 敦化市| 游戏| 邻水| 隆子县| 日照市| 东城区| 嘉定区| 洞头县| 仁寿县| 蒲城县| 盘锦市| 阳春市| 罗定市| 资源县| 子洲县| 东乡族自治县| 来凤县| 潢川县| 上杭县| 疏附县| 甘德县| 伊宁县| 南部县| 卢湾区| 吴旗县| 嵩明县| 阳新县| 鄂尔多斯市| 黄浦区|