如何使用?Python?Timedelta?月份計(jì)算日期
在本篇文章中,我們將通過 timedelta 學(xué)習(xí)如何在 Python 中使用日期時(shí)間。 我們將了解如何計(jì)算當(dāng)前日期或任何其他日期六個(gè)月后的日期。
讓我們深入了解一下!
Python 日期時(shí)間函數(shù)
好吧,首先,我們將了解日期時(shí)間函數(shù)的工作原理以及限制我們功能的缺點(diǎn)是什么。 您需要知道的第一件事是在代碼中導(dǎo)入日期時(shí)間。
import datetime
之后,您將創(chuàng)建日期時(shí)間的實(shí)例。 創(chuàng)建實(shí)例后,您可以使用其算術(shù)函數(shù)。
您可以減去一天和一個(gè)月。 看看下面的代碼。
#instance of datetime date = datetime.datetime(2022,2,1) #subtracting 1 from the month date = date.replace(month=date.month-1) print(date)
輸出:
2022-01-01 00:00:00
正如您在上面的代碼中看到的,在算術(shù)函數(shù)的幫助下,我們從之前設(shè)置的日期中減去了一個(gè)月。 但這里有一個(gè)問題,如果我們嘗試從上面的結(jié)果中減去一個(gè)月會怎么樣?
該代碼會給我們一個(gè)錯(cuò)誤。 看一看。
date = date.replace(month=date.month-1)
輸出:
date = date.replace(month=date.month-1)
ValueError: month must be in 1..12
datetime 函數(shù)不允許我們使用算術(shù)函數(shù)并減去一整年,因?yàn)樗恢С炙?同樣,如果我們在當(dāng)前日期位于 12 月的最后幾天時(shí)添加 1 或 2,則會給出相同的錯(cuò)誤。
# if you add 1 in date, it will throw an error because it doesn't support it date= datetime.datetime(2022,12,1) date_= date.replace(month=date_1.month+1)
輸出:
date = date.replace(month=date.month+1)
ValueError: month must be in 1..12
那么,回到問題,我們?nèi)绾斡?jì)算從當(dāng)前日期或任何其他日期算起六個(gè)月的日期? 答案在于使用relativedelta。
使用 Python 中的relativedelta() 計(jì)算日期
在我們繼續(xù)在 Python 代碼中使用relativedelta 之前,我們需要安裝 dateutil 以從中導(dǎo)入relativedelta。 在命令提示符中運(yùn)行以下命令來安裝 dateutil。
pip install python-dateutil
安裝后,您需要從中導(dǎo)入relativedelta。
from dateutil import relativedelta
之后,我們需要同時(shí)使用datetime和relativedelta來解決當(dāng)前的問題。 看看下面的代碼。
date = datetime.datetime(2022,1,1) # created the instance of the datetime and set the current date as 2022,1,1
現(xiàn)在,我們將創(chuàng)建relativedelta 的實(shí)例并將月份的值設(shè)置為1。
r_date = relativedelta.relativedelta(months=1)
現(xiàn)在,我們需要做的就是從日期時(shí)間實(shí)例中減去relativedelta 實(shí)例。 它會給我們想要的答案。
# if you subtract the relativedelta variable with the date instance, it will work correctly and change the year too. new_date = date - r_date print(new_date)
輸出:
2021-12-01 00:00:00
類似地,如果我們將日期加 1,就會得到所需的輸出。
現(xiàn)在我們可以使用這種技術(shù)來計(jì)算當(dāng)前日期的任何日期。 這就回答了我們?nèi)绾斡?jì)算從當(dāng)前日期算起六個(gè)月的日期。
到此這篇關(guān)于使用 Python Timedelta 月份計(jì)算日期的文章就介紹到這了,更多相關(guān)Python月份計(jì)算日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python計(jì)算指定日期是今年的第幾天(三種方法)
- Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法示例
- Python 3.3實(shí)現(xiàn)計(jì)算兩個(gè)日期間隔秒數(shù)/天數(shù)的方法示例
- Python日期時(shí)間模塊datetime詳解與Python 日期時(shí)間的比較,計(jì)算實(shí)例代碼
- Python根據(jù)指定日期計(jì)算后n天,前n天是哪一天的方法
- python 計(jì)算兩個(gè)日期相差多少個(gè)月實(shí)例代碼
- Python中的DateTime和TimeDelta詳解
- Python中Timedelta轉(zhuǎn)換為Int或Float方式
相關(guān)文章
使用Django搭建web服務(wù)器的例子(最最正確的方式)
今天小編就為大家分享一篇使用Django搭建web服務(wù)器的例子(最最正確的方式),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08如何將matlab數(shù)據(jù)導(dǎo)入到Python中使用
這篇文章主要介紹了如何將matlab數(shù)據(jù)導(dǎo)入到Python中使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12基于pytorch實(shí)現(xiàn)運(yùn)動鞋品牌識別功能
這篇文章主要給大家介紹了關(guān)于如何基于pytorch實(shí)現(xiàn)運(yùn)動鞋品牌識別功能,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用PyTorch具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2024-02-02詳解Python執(zhí)行py文件是否需要可執(zhí)行權(quán)限
這篇文章主要通過幾個(gè)案例為大家詳細(xì)介紹一下在Python中執(zhí)行py文件是否需要可執(zhí)行權(quán)限,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以了解一下2023-03-03Python requests模塊基礎(chǔ)使用方法實(shí)例及高級應(yīng)用(自動登陸,抓取網(wǎng)頁源碼)實(shí)例詳解
這篇文章主要介紹了Python requests模塊基礎(chǔ)使用方法實(shí)例及高級應(yīng)用(自動登陸,抓取網(wǎng)頁源碼,Cookies)實(shí)例詳解,需要的朋友可以參考下2020-02-02給你選擇Python語言實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法的三大理由
這篇文章主要介紹了給你選擇Python語言實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法的三大理由,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11快速進(jìn)修Python指南之函數(shù)進(jìn)階
這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之函數(shù)進(jìn)階示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12