那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Delorean:優秀的時間格式智能轉換工具

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-30 10:23 ? 次閱讀

DeLorean是一個Python的第三方模塊,基于 pytz 和 dateutil 開發,用于處理Python中日期時間的格式轉換。

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

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

這個模塊最讓我感到智能的是,它能自動識別字符串的時間格式,轉換為 Delorean 對象,而且這個 Delorean 對象和 Datetime 對象是相通的:

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

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

1.準備

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

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

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

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

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

2.Delorean 基礎使用

輕松獲取當前時間:

from delorean import Delorean

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

將datetime格式的時間轉化為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')
# 這里默認的是UTC時間
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')

轉換為國內時區:

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

查看時間戳及UTC時間:

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時間戳初始化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的時間加減法。Delorean可以使用timedelta進行加減,得到一個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 高級使用

通常情況下我們不關心有多少微妙或者多少秒,因此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格式的字符串處理的時候轉換需要標明各種各樣的格式,在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')
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    585

    瀏覽量

    20604
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85040
  • 轉換工具
    +關注

    關注

    0

    文章

    9

    瀏覽量

    5571
收藏 人收藏

    評論

    相關推薦

    原理圖格式轉換工具

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

    CD-ROM映像文件格式轉換工具

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

    TKStudio 文件捆綁轉換工具

    TKStudio 文件捆綁轉換工具介紹
    發表于 07-19 15:51 ?65次下載

    PCB圖片轉換工具

    電子發燒友網站提供《PCB圖片轉換工具.rar》資料免費下載
    發表于 06-18 16:42 ?32次下載

    pcb單位轉換工具下載

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

    進制轉換工具

    進制轉換工具
    發表于 12-01 16:44 ?3次下載

    protel-pads轉換工具

    protel-pads轉換工具
    發表于 02-14 17:25 ?0次下載

    HEX與BIN文件格式轉換工具應用程序免費下載

    本文檔的主要內容詳細介紹的是HEX與BIN文件格式轉換工具應用程序免費下載。
    發表于 01-11 17:08 ?60次下載
    HEX與BIN文件<b class='flag-5'>格式</b><b class='flag-5'>轉換工具</b>應用程序免費下載

    2020年好用的視頻格式轉換工具

    過于單一,根本滿足不了現在的轉換需求,同時轉換的速度也太慢。本文將為大家列舉幾款功能強大同時簡單好用的正規視頻轉換工具,為大家日后需要時做準備。 一、萬興優轉 萬興優轉是一款全能的視頻轉換工具
    的頭像 發表于 08-25 14:56 ?2561次閱讀

    你應該嘗試的6款免費圖像轉換工具

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

    郵件格式轉換工具破解版的功能及主要特點

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

    Delorean優秀的Python時間格式轉換工具

    DeLorean是一個Python的第三方模塊,基于 pytz 和 dateutil 開發的,用于處理Python中日期時間格式轉換。 由于時間
    的頭像 發表于 10-31 10:51 ?568次閱讀

    xgus轉換工具

    xgus轉換工具
    發表于 04-28 13:52 ?2次下載

    視頻格式轉換工具

    視頻格式轉換工具
    發表于 04-28 13:58 ?1次下載

    音頻格式轉換工具

    音頻格式轉換工具
    發表于 04-28 13:59 ?6次下載
    大发888官方下载 银行| 网络百家乐证据| 百家乐官网国际娱乐| 澳门百家乐下三路| 百家乐官网路单免费下载| 百家乐博娱乐场开户注册| 百家乐官网赌博程序| 太阳城房价| 星河百家乐官网的玩法技巧和规则 | 百家乐官网庄闲的分布| 潘多拉百家乐的玩法技巧和规则 | 新锦江百家乐官网娱乐场| 大发888游戏论坛| 24山向中那个向最好| 手机bet365| A8百家乐赌场娱乐网规则| 百家乐官网双筹码怎么出千| 亿酷棋牌世界下载| 真人百家乐免费开户送钱| 百家乐官网赌法| 大发888完整客户端| 百家乐稳赢玩法| 代理百家乐官网最多占成| 大发888yulecheng| 做生意摆放的招财物件| 真让百家乐官网游戏开户| 大发888下载安装| 百家乐单跳投注法| 澳门百家乐官网国际| bet365备用器下载| 百家乐投住系统| 百家乐官网娱乐官网网| 湘阴县| 申博太阳城官网| CEO百家乐官网的玩法技巧和规则| 沐川县| 威尼斯人娱乐场 澳门赌场| 百家乐高手qq| 7人百家乐官网中号桌布| 新疆| 大发888免费送奖金|