溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中時間操作datetime怎么用

發(fā)布時間:2021-11-30 12:53:15 來源:億速云 閱讀:230 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python中時間操作datetime怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Python 在對時間操作內(nèi)置庫提供了time模塊和datetime模塊。

  • time模塊對結(jié)構(gòu)化時間與時間戳和字符串時間進(jìn)行互相轉(zhuǎn)換相關(guān)方法學(xué)習(xí)

  • datetime 模塊提供處理時間和日期的多種類,簡單方便

python 還提供通用日歷相關(guān)方法的calendar模塊,時區(qū)信息zoneinfo模塊,以及第三方庫arrow、dateutil模塊對時間處理

Python中時間操作datetime怎么用

1. datetime 模塊概述

datetime 模塊不僅支持時間日期數(shù)學(xué)運算,還提供高效輸出格式化和操作的屬性相關(guān)方法

datetime 模塊根據(jù)包含時區(qū)信息將日期和時間分為兩種感知型對象和簡單型對象

  • 感知型時間對象:充分使用應(yīng)用性算,以及當(dāng)?shù)貙嶋H情況來精確定位時間點,通常用來表示沒有解釋空間的固定時間點

  • 簡單型時間對象:不會包含當(dāng)?shù)氐男畔?,一切取決于具體程序所計算出的時間點,忽略現(xiàn)實因素,通??梢源鞺TC世界標(biāo)準(zhǔn)時間

datetime 提供許多類,能進(jìn)一步方便與我們?nèi)〕龈兄蜁r間對象的信息。

  • date 類型的對象都是簡單型的

  • timedatetime類型的對象可以是感知型或者簡單型

  • timedelta 對象既不是感知型對象也不是簡單型對象

2. datetime 組成部分

datetime 模塊對比time不同的是,它主要提供操作日期和時間的類。

通過查看 datetime 模塊文件主要提供包括處理時間日期的還有時區(qū)相關(guān)的類共6類

Python中時間操作datetime怎么用

類名稱描述
datetime.date用于表示日期,常用的屬性有:year, month和day
datetime.time用于表示時間,常用屬性有:hour, minute, second, microsecond
datetime.datetime用于表示日期時間
datetime.timedelta用于表示兩個date、time、datetime實例之間的時間間隔,最小單位可達(dá)到微秒
datetime.tzinfo時區(qū)相關(guān)信息對象的抽象基類。它們由datetime和time類使用,以提供自定義時間的而調(diào)整。
datetime.timezonePython 3.2中新增的功能,實現(xiàn)tzinfo抽象基類的類,表示與UTC的固定偏移量

datetime 模塊相關(guān)類關(guān)系圖:

Python中時間操作datetime怎么用

datetime 模塊中類的對象都是不可變類型

date、time這兩個類是我們?nèi)粘J褂米疃嗟?/p>

3. datetime 常量

在datetime.pyi文件中,我們可知道detetime模塊定義了兩個常量dat

常量名稱描述
datetime.MINYEARdatetime.date或datetime.datetime對象所允許的年份的最小值,值為1
datetime.MAXYEARdatetime.date或datetime.datetime對象所允許的年份的最大值,只為9999

4. datetime 常用方法

datetime 模塊對比time模塊提供更多的操作時間日期的操作,以下我們列出常用的方法

方法作用
datetime.datetime.timestamp()將datetime對象轉(zhuǎn)換輸出成時間戳的形式
datetime.datetime.now()格式化輸出當(dāng)前系統(tǒng)時間
datetime.datetime.timedelta([hours,days])設(shè)置某個屬性的偏移量
datetime.datetime.strptime(date_str,format)將時間字符串轉(zhuǎn)換為datetime對象
datetime.date.fromtimestamp(timestamp)將時間戳格式化輸出為日期
datetime.date.today()返回當(dāng)?shù)乇镜厝掌?/td>
datetime.time.strftime(fromat)返回當(dāng)?shù)貢r間格式化輸出
datetime.time.dst()返回當(dāng)?shù)厮诘臅r區(qū),tzinfo為none,則返回none
datetime.tzinfo.utcoffset(dt)設(shè)置時區(qū)差,以東為正值,返回timedelta對象
datetime.tzinfo.dst(dt)將夏令時調(diào)整返回一個timedelta對象

5、實操

我們對datetime模塊常用方法學(xué)習(xí),我們來實現(xiàn)輸入日期判斷是昨天或者今天的日期即為Ture,否則為false

def check_current_date(sw_date):

    cur_date_list =  time.strftime("%Y/%m/%d", time.localtime()) .split('/')

    today = datetime.datetime.now()

    offset = datetime.timedelta(days=-1)

    yes_data = today+offset

    yes_data_list = yes_data.strftime("%Y/%m/%d").split('/')

    data_list = cur_date_list + yes_data_list

    print("data_list",data_list)

    seps = ['/', '-', '_']

    for sep in seps:

        date_parts= sw_date.split(sep)

        print("cur_date_list = {}, arg sw_date = {}".format(data_list, sw_date))

        if len(date_parts) == 3:

            for data in date_parts:

                if data not in data_list:

                    return False

            return True

    return False

我們來進(jìn)行測試一下結(jié)果:

print("當(dāng)前日期:",datetime.datetime.now())

print("測試前一天:",check_current_date("2021-10-29"))

print("測試當(dāng)前日期:",check_current_date("2021/10/30"))

以上是“Python中時間操作datetime怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI