python時間日期相加減的實現示例
更新時間:2024年02月23日 11:22:23 作者:weixin_40293999
在實際開發(fā)中,我們經常需要對日期進行加減操作,本文主要介紹了python時間日期相加減的實現示例,具有一定的參考價值,感興趣的可以了解一下
前言
時間日期相加減,單獨看沒啥意思,但是比如要預測從當前時間開始,未來12個月的股票變化情況,你只拿到了股票的價格的序列值一共12個,需要把它撲到未來12個月,中間可能跨年。
安裝插件
python-dateutil
pip install python-dateutil
一、python時間處理月份加減
import datetime from dateutil.relativedelta import relativedelta datetime_now = datetime.datetime.now() datetime_three_month_ago = datetime_now - relativedelta(months=3) print(datetime_three_month_ago)
二、python日期相減(秒、小時、天、月、年)
1.例子
代碼如下(示例):
import datetime today=datetime.datetime.now() datetime1=today-datetime.timedelta(seconds=10)#減10秒 datetime2=today-datetime.timedelta(minutes=10)#減10分鐘 datetime3=today-datetime.timedelta(hours=1)#減1小時 datetime4=today-datetime.timedelta(days=7)#減1天 datetime5=today-datetime.timedelta(weeks=1)#減1周 datetime6=today.strftime('%Y-%m-%d')#將時間格式化為字符串 print('today:',today) print('second:',datetime1) print('minute:',datetime2) print('hour:',datetime3) print('day:',datetime4) print('week:',datetime5) print('時間格式化為字符串:',datetime6) import dateutil.relativedelta datetime7= datetime.datetime.strptime(datetime6, '%Y-%m-%d')#將字符串格式為時間 datetime8 = datetime7 - dateutil.relativedelta.relativedelta(seconds=10)#減10秒 datetime9 = datetime7 - dateutil.relativedelta.relativedelta(minutes=10)#減10分鐘 datetime10 = datetime7 - dateutil.relativedelta.relativedelta(hours=1)#減減1小時 datetime11 = datetime7 - dateutil.relativedelta.relativedelta(days=1)#減1天 datetime12 = datetime7 - dateutil.relativedelta.relativedelta(months=1)#減一個月 datetime13 = datetime7 - dateutil.relativedelta.relativedelta(years=1)#減一年 print('字符串格式為時間:',datetime7) print('second2:',datetime8) print('minute2:',datetime9) print('hour2:',datetime10) print('day2:',datetime11) print('month2:',datetime12) print('year:',datetime13)
2.案例:
處理未來12個月
def get_dynamic_year(i): today=datetime.datetime.now() tmp = today + dateutil.relativedelta.relativedelta(months=i) return tmp.year def get_dynamic_month(i): today=datetime.datetime.now() tmp = today + dateutil.relativedelta.relativedelta(months=i) return tmp.month pd_insert["year"] = [get_dynamic_year(i) for i in range(1,13)] pd_insert["month"] = [ get_dynamic_month(i) for i in range(1,13) ]
處理未來7天的日期
""" pandas實在是太變態(tài)了,用row.name的方式獲取行索引 把每一天都加上 """ data_date = today + datetime.timedelta(days=i+1) return data_date.strftime("%Y-%m-%d") pd_insert['forecast_date'] = today.strftime("%Y-%m-%d") pd_insert['data_date'] = pd_insert.apply( lambda x: get_date(x.name, x['forecast_date']), axis=1)
總結
到此這篇關于python時間日期相加減的實現示例的文章就介紹到這了,更多相關python時間日期相加減內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PyCharm更換pip源、模塊安裝以及PyCharm依賴包導入導出功能
這篇文章主要給大家介紹了關于PyCharm更換pip源、模塊安裝以及PyCharm依賴包導入導出功能的相關資料,我們在使用pycharm的時候,pycharm中的虛擬環(huán)境依賴包需要導出成一個文件,需要的朋友可以參考下2023-11-11基于python實現監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例
這篇文章主要介紹了基于python實現監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11基于spring boot 日志(logback)報錯的解決方式
今天小編就為大家分享一篇基于spring boot 日志(logback)報錯的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02