python學(xué)習(xí)筆記-tip57(Python內(nèi)建模塊之datetime)

簡介

「datetime」是 python 用來處理日期和時(shí)間的標(biāo)準(zhǔn)庫

功能點(diǎn)依次介紹

  • 1、獲取當(dāng)前日期和時(shí)間

由上例可見,now 對象是 datetime 類型的,值為當(dāng)前的時(shí)間

  • 2、構(gòu)造一個(gè) datetime 對象,并打印


    上例中,使用

      datetime(年,月,日,時(shí),分,秒,毫秒)
    

的方式進(jìn)行了構(gòu)造,所以打印出來也是對應(yīng)的

  • 3、datetime 轉(zhuǎn) timestamp

先說明一下:

timestamp 一旦確定,那么 UTC 時(shí)間就確定了,轉(zhuǎn)換到任意時(shí)區(qū)的時(shí)間也是確定的,所以計(jì)算機(jī)存儲當(dāng)前時(shí)間是以 timestamp 方式表示的,因?yàn)槿蚋鞯氐挠?jì)算機(jī)在任意時(shí)刻的 timestamp 都是完全相同的(假定時(shí)間已經(jīng)校準(zhǔn))

所以說

時(shí)間戳 timestamp 的值和時(shí)區(qū)沒有關(guān)系,這就是為什么做前后端交互時(shí),廣泛使用timestamp 的原因

下面,請看 datetime 轉(zhuǎn) timestamp 的用法



如圖,很簡單,就是將 datetime 對象直接調(diào)用 timestamp方法即可
需要注意的是 timestamp 是浮點(diǎn)數(shù),當(dāng)有小數(shù)位時(shí),小數(shù)位表示的是毫秒數(shù)

  • 4、timestamp 轉(zhuǎn) datetime

    將時(shí)間戳轉(zhuǎn)換為 datetime ,那么只需要調(diào)用 datetime 模塊中的 fromtimestamp()方法即可
    我們將步驟3的毫秒值利用一下,看下示例



    很簡單,但是需要注意的是,上面的 timestamp 轉(zhuǎn)datetime 是根據(jù)本地時(shí)間進(jìn)行的轉(zhuǎn)化,而本地時(shí)間是指當(dāng)前操作系統(tǒng)設(shè)置的時(shí)區(qū)。不同地區(qū)不同國家的 相同的時(shí)間戳 timestamp 的轉(zhuǎn)化,是不一樣的,是根據(jù)時(shí)區(qū)設(shè)定的。

當(dāng)然,如果想要把時(shí)間戳 timestamp 轉(zhuǎn)換成標(biāo)準(zhǔn)時(shí)區(qū)(UTC+0:00),我們可以這樣做


  • 5、str 轉(zhuǎn) datetime
    一般情況下,我們會根據(jù)用戶輸入的時(shí)間 str 轉(zhuǎn)化成我們對應(yīng)的時(shí)間,這個(gè)時(shí)候就需要用到
    str 轉(zhuǎn) datetime了
    只需要用到 datetime 中的 strptime() 方法即可,但是前提是:需要一個(gè)日期和時(shí)間格式化的字符串


  • 6、datetime 的加減
    python 為我們提供了很方便的方式進(jìn)行日期的加減,其中核心的功能是聽過 datetime 模塊中的
    timedelta 類提供的,通過 timedelta 的構(gòu)造方法 構(gòu)造出我們需要操作的時(shí)間,然后進(jìn)行運(yùn)算就可以了
    請看示例

  • 7、本地時(shí)間轉(zhuǎn)化成 UTC 時(shí)間


  • 8、時(shí)區(qū)轉(zhuǎn)化

  • 直接通過 datetime 對象 的replace 方法去替換 tzinfo 的時(shí)區(qū)

  • astimezone() 直接更改

總結(jié)

datetime表示的時(shí)間需要時(shí)區(qū)信息才能確定一個(gè)特定的時(shí)間,否則只能視為本地時(shí)間。

如果要存儲datetime,最佳方法是將其轉(zhuǎn)換為timestamp再存儲,因?yàn)閠imestamp的值與時(shí)區(qū)完全無關(guān)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容