0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Delorean:優(yōu)秀的Python時(shí)間格式轉(zhuǎn)換工具

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 10:51 ? 次閱讀

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

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

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

1.準(zhǔn)備

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

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install Delorean

2.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)換為國內(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í)區(qū)時(shí)間及時(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對象:

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')

3. Delorean 高級使用

通常情況下我們不關(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')
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    566

    瀏覽量

    20384
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    797

    瀏覽量

    30929
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
  • 轉(zhuǎn)換工具
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5546
收藏 人收藏

    評論

    相關(guān)推薦

    原理圖格式轉(zhuǎn)換工具

    現(xiàn)在正在做一個(gè)格式轉(zhuǎn)換工具,大家有什么好的建議和思路沒有呢,也就是可以protel的格式,orcad等原理圖,庫格式的互相轉(zhuǎn)換.
    發(fā)表于 06-17 14:08

    CD-ROM映像文件格式轉(zhuǎn)換工具

    WinISO是一個(gè)CD-ROM映像文件格式轉(zhuǎn)換工具,并且可以直接編輯光盤映像文件!WinISO能夠運(yùn)行在Windows95/98/Me/NT/2000環(huán)境下。它可以處理幾乎所有的CD-ROM映像文件,包括ISO和BIN。通過WinISO,
    發(fā)表于 05-25 13:33 ?44次下載

    pcb單位轉(zhuǎn)換工具下載

    資料介紹說明: 軟件名稱 :pcb轉(zhuǎn)換工具 文件大小:2.03MB 文件格式:rar 軟件語言:簡體中文 運(yùn)行環(huán)境: win2003winxpwin2000win9x pcb單位轉(zhuǎn)換工具,pcb工程專用
    發(fā)表于 11-05 09:40 ?47次下載
    pcb單位<b class='flag-5'>轉(zhuǎn)換工具</b>下載

    進(jìn)制轉(zhuǎn)換工具

    進(jìn)制轉(zhuǎn)換工具
    發(fā)表于 12-01 16:44 ?3次下載

    protel-pads轉(zhuǎn)換工具

    protel-pads轉(zhuǎn)換工具
    發(fā)表于 02-14 17:25 ?0次下載

    HEX與BIN文件格式轉(zhuǎn)換工具應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是HEX與BIN文件格式轉(zhuǎn)換工具應(yīng)用程序免費(fèi)下載。
    發(fā)表于 01-11 17:08 ?57次下載
    HEX與BIN文件<b class='flag-5'>格式</b><b class='flag-5'>轉(zhuǎn)換工具</b>應(yīng)用程序免費(fèi)下載

    2020年好用的視頻格式轉(zhuǎn)換工具

    過于單一,根本滿足不了現(xiàn)在的轉(zhuǎn)換需求,同時(shí)轉(zhuǎn)換的速度也太慢。本文將為大家列舉幾款功能強(qiáng)大同時(shí)簡單好用的正規(guī)視頻轉(zhuǎn)換工具,為大家日后需要時(shí)做準(zhǔn)備。 一、萬興優(yōu)轉(zhuǎn) 萬興優(yōu)轉(zhuǎn)是一款全能的視頻轉(zhuǎn)換工具
    的頭像 發(fā)表于 08-25 14:56 ?2450次閱讀

    你應(yīng)該嘗試的6款免費(fèi)圖像轉(zhuǎn)換工具

    圖像轉(zhuǎn)換工具是指幫助將某種圖像格式轉(zhuǎn)換成另一種格式的程序。雖然流行的格式,如PNG、JPEG、TIFF和GIF都與大多數(shù)設(shè)備和程序兼容,但某
    的頭像 發(fā)表于 03-17 16:24 ?4658次閱讀

    郵件格式轉(zhuǎn)換工具破解版的功能及主要特點(diǎn)

    Coolutils Total Mail Converter Pro 綠色破解版是一款專業(yè)的郵件轉(zhuǎn)換工具,適用于需要快速可靠的方式將電子郵件轉(zhuǎn)換為 HTM、TXT、PDF 或 RTF 格式的用戶。
    發(fā)表于 03-08 09:52 ?939次閱讀

    Python漢字拼音轉(zhuǎn)換工具

    現(xiàn)在互聯(lián)網(wǎng)上有許多拼音轉(zhuǎn)換工具,基于Python的開源模塊也不少,今天給大家介紹一個(gè)功能特性最多的模塊: ** `pypinyin` ** ,
    的頭像 發(fā)表于 02-24 10:42 ?700次閱讀

    Python漢字拼音轉(zhuǎn)換工具

    將漢字轉(zhuǎn)為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場景。 現(xiàn)在互聯(lián)網(wǎng)上有許多拼音轉(zhuǎn)換工具,基于Python的開源模塊也不少,今天給大家介紹一個(gè)功能特性最多的模塊
    的頭像 發(fā)表于 10-17 17:18 ?487次閱讀

    Delorean優(yōu)秀時(shí)間格式智能轉(zhuǎn)換工具

    DeLorean是一個(gè)Python的第三方模塊,基于 pytz 和 dateutil 開發(fā),用于處理Python中日期時(shí)間格式
    的頭像 發(fā)表于 10-30 10:23 ?322次閱讀

    xgus轉(zhuǎn)換工具

    xgus轉(zhuǎn)換工具
    發(fā)表于 04-28 13:52 ?2次下載

    視頻格式轉(zhuǎn)換工具

    視頻格式轉(zhuǎn)換工具
    發(fā)表于 04-28 13:58 ?1次下載

    音頻格式轉(zhuǎn)換工具

    音頻格式轉(zhuǎn)換工具
    發(fā)表于 04-28 13:59 ?6次下載