最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python獲取"3年前的今天"的日期時(shí)間問(wèn)題

 更新時(shí)間:2023年01月11日 10:30:11   作者:愛(ài)家家的卡卡  
在Python中,如何獲取"?3年前的今天"的datetime對(duì)象,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,代碼簡(jiǎn)單易懂對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

Python:獲取“ 3年前的今天”的日期時(shí)間

Python: get datetime for '3 years ago today'

在Python中,如何獲取" 3年前的今天"的datetime對(duì)象?

更新:FWIW,我不太在乎準(zhǔn)確性……也就是說(shuō),今天是2月29日,我不在乎我的答案是2月28日還是3月1日。 在這種情況下,簡(jiǎn)潔比可配置性更重要。

相關(guān)討論

  • 如何創(chuàng)建等于15分鐘前的DateTime的可能重復(fù)項(xiàng)?
  • 大概是今天的3月1日,無(wú)論之間是否有a年,您都想獲得3月1日? 我認(rèn)為所有現(xiàn)有的答案在這方面都失敗了。
  • 幾乎但不完全:不變的15分鐘與沒(méi)有變化的3年之間的差異是巨大的。
  • @Jason我同意你的觀點(diǎn),盡管從OP的編輯看來(lái),他似乎并不太擔(dān)心,所以這樣的話將是重復(fù)的。
  • 當(dāng)人們接受明顯不正確的答案時(shí),此站點(diǎn)確實(shí)需要社區(qū)替代的方法。 3 * 365天不是3年,并且在那里有正確的答案。
  • @Glenn Maynard-您可以編輯標(biāo)題。 因?yàn)樗娴牟幌胍?年前。

如果需要精確,請(qǐng)使用dateutil模塊來(lái)計(jì)算相對(duì)日期:

from datetime import datetime
from dateutil.relativedelta import relativedelta

three_yrs_ago = datetime.now() - relativedelta(years=3)

感謝您的準(zhǔn)確性。即使OP不在乎準(zhǔn)確性,其他人也可能會(huì)。

import datetime
datetime.datetime.now() - datetime.timedelta(days=3*365)
  • (-1)這顯然是錯(cuò)誤的,因?yàn)樗惶幚韑eap年。
  • AP257說(shuō):"我不太在乎準(zhǔn)確性"。我解釋為"我不在乎leap年"
  • @Diniz:您將其解釋為"我想錯(cuò)了"。做到這一點(diǎn)是如此容易,做錯(cuò)它只是愚蠢的,當(dāng)有正確答案時(shí),就很奇怪地接受這個(gè)答案。
  • 提問(wèn)者明確告訴相反的情況時(shí),給出一個(gè)不太簡(jiǎn)潔但更準(zhǔn)確的答案是否正確?
  • +1為簡(jiǎn)單起見。也許OP只是想舉一個(gè)總體上如何做這樣的例子。
  • 這有點(diǎn)草率。
  • 感謝您的簡(jiǎn)單性。我也不在乎準(zhǔn)確性。無(wú)論如何,我實(shí)際上一直在尋找不同的日子。
  • 對(duì)于"我不太在乎準(zhǔn)確性"給出的示例表明,提問(wèn)者實(shí)際上并未充分考慮問(wèn)題。該示例并不關(guān)心2月29日變?yōu)?月28日還是3月1日,但是此代碼可以(通常將)執(zhí)行將3月5日轉(zhuǎn)換為3月6日的操作。不關(guān)心第一件事的人可能仍然會(huì)關(guān)心第二件事。 。
  • 如果您特別關(guān)心地球在軌道上的位置,則可以通過(guò)乘以365.2422來(lái)精確地處理leap年。
  • 減去365 * 3天當(dāng)然是錯(cuò)誤的-您跨越crossing年的時(shí)間超過(guò)一半。

ED:為了正確地解決the年問(wèn)題,

def subtract_years(dt, years):
    try:
        dt = dt.replace(year=dt.year-years)
    except ValueError:
        dt = dt.replace(year=dt.year-years, day=dt.day-1)
    return dt
  • 我認(rèn)為這是經(jīng)常被忽視的事情。
  • 好吧,現(xiàn)在您還有另一個(gè)問(wèn)題:datetime.datetime(2008,2,29).replace(year=2005) -> ValueError。捕捉到該錯(cuò)誤并減去一整天,我認(rèn)為它仍然更加準(zhǔn)確。
  • @Jochen:是的,很簡(jiǎn)單。
  • 我一直忘了replace。它比我的解決方案更簡(jiǎn)單。
  • @Mark:我也剛開始做過(guò);我最初做的是你做的。不過(guò),該網(wǎng)站似乎在該版本的編輯歷史記錄中放錯(cuò)了該版本。
  • 2100年后會(huì)發(fā)生什么?
def add_years(dt, years):
    try:
        result = datetime.datetime(dt.year + years, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond, dt.tzinfo)
    except ValueError:
        result = datetime.datetime(dt.year + years, dt.month, dt.day - 1, dt.hour, dt.minute, dt.second, dt.microsecond, dt.tzinfo)
    return result

>>> add_years(datetime.datetime.now(), -3)
datetime.datetime(2008, 3, 1, 12, 2, 35, 22000)
>>> add_years(datetime.datetime(2008, 2, 29), -3)
datetime.datetime(2005, 2, 28, 0, 0)

盡管使用dateutil的答案很好,但是另一種方法是在PyPI上使用pendulum包。有關(guān)更多信息,請(qǐng)參閱其文檔。

>>> import pendulum
>>> dt = pendulum.now().subtract(years=3)
>>> dt
DateTime(2015, 10, 5, 17, 44, 41, 82598, tzinfo=Timezone('America/New_York'))
>>> type(dt)
pendulum.datetime.DateTime

如果您需要當(dāng)前日期時(shí)間來(lái)進(jìn)一步使用,則可能應(yīng)該先將pendulum.now()保存到變量中,然后再使用該變量!

如果您確實(shí)想避免時(shí)區(qū),請(qǐng)使用.naive()。

您不需要將結(jié)果轉(zhuǎn)換為原生Python對(duì)象,但是如果確實(shí)需要,一種實(shí)現(xiàn)方法是:

>>> import datetime
>>> pydt = datetime.datetime.fromisoformat(dt.isoformat())
>>> pydt
datetime.datetime(2015, 10, 5, 17, 44, 41, 82598, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000)))
>>> type(pydt)
datetime.datetime

看不到它,它非常簡(jiǎn)單明了,

In [1]: import datetime

In [2]: dt = datetime.datetime.today()

In [3]: datetime.datetime(year=dt.year-3, month=dt.month, day=dt.day)
Out[3]: datetime.datetime(2016, 4, 11, 0, 0)

為什么不簡(jiǎn)單在替換年份之前檢查a年。
這不需要任何額外的程序包或try:Except。

def years_ago(dt, years):
if dt.month == 2 and dt.day == 29:
    dt = dt.replace(day=28)
return dt.replace(year=dt.year - years)
In [3]: import datetime as dt

In [4]: today=dt.date.today()

In [5]: three_years_ago=today-dt.timedelta(days=3*365)

In [6]: three_years_ago
Out[6]: datetime.date(2008, 3, 1)

ps:python獲取三年前的日期

three_yrs_ago_day = (datetime.now() - relativedelta(years=3)).strftime('%Y%m%d')

python處理幾年前幾月前幾日前的時(shí)間

def conv_time(t):
    min = int(re.findall('\d+', t)[0])
    print(min,'---')
    dt = arrow.now()
    if u'秒' in t:
        s = (dt - timedelta(seconds=min))
    elif u'分鐘' in t:
        s = (dt - timedelta(minutes=min))
 
    elif u'小時(shí)' in t:
        s = (dt - timedelta(hours=min))
    elif u'天' in t:
        s = (dt - timedelta(days=min))
    elif u'周' in t:
        s = (dt - timedelta(weeks=min))
    elif u'月' in t:
        s = dt.shift(months=-min)
    elif u'年' in t:
        s =str(int(datetime.datetime.now().strftime("%Y"))-min)+"-"+datetime.datetime.now().strftime("%m-%d")
    else:
        t += ", " + current_year
        s = datetime.strptime(t, "%m-%d, %Y")
    return int(time.mktime(s.timetuple()))

python3 獲取n年前日期

import time
import datetime
import random

#13位時(shí)間戳
temp=time.time()
timestamp=int(round(temp*1000))
str_timestamp=str(timestamp)

t=datetime.datetime.now()
#15年前
d2=(t+datetime.timedelta(days=-365*15)).strftime("%Y%m%d")
#23年前
d3=(t+datetime.timedelta(days=-365*23)).strftime("%Y%m%d")

print(str_timestamp)
print(d2)
print(d3)

輸出

macname@MacdeMacBook-Pro Desktop % python3 test.py 
1610095883568
20060112
19980114
macname@MacdeMacBook-Pro Desktop %

到此這篇關(guān)于Python:獲取“ 3年前的今天”的日期時(shí)間的文章就介紹到這了,更多相關(guān)Python內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Keras SGD 隨機(jī)梯度下降優(yōu)化器參數(shù)設(shè)置方式

    Keras SGD 隨機(jī)梯度下降優(yōu)化器參數(shù)設(shè)置方式

    這篇文章主要介紹了Keras SGD 隨機(jī)梯度下降優(yōu)化器參數(shù)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python發(fā)送郵件測(cè)試報(bào)告操作實(shí)例詳解

    Python發(fā)送郵件測(cè)試報(bào)告操作實(shí)例詳解

    這篇文章主要介紹了Python發(fā)送郵件測(cè)試報(bào)告操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python郵件發(fā)送相關(guān)模塊使用及操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • Python如何輸出異常信息(行號(hào))

    Python如何輸出異常信息(行號(hào))

    這篇文章主要介紹了Python如何輸出異常信息(行號(hào))問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Windows下Python的Django框架環(huán)境部署及應(yīng)用編寫入門

    Windows下Python的Django框架環(huán)境部署及應(yīng)用編寫入門

    這篇文章主要介紹了Windows下Python的Django框架環(huán)境部署及程序編寫入門,Django在Python的框架中算是一個(gè)重量級(jí)的MVC框架,本文將從程序部署開始講到hellow world web應(yīng)用的編寫,需要的朋友可以參考下
    2016-03-03
  • 詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn)

    詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn)

    這篇文章主要介紹了詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python讀取Kafka實(shí)例

    python讀取Kafka實(shí)例

    今天小編就為大家分享一篇python讀取Kafka實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python argparse 模塊命令行參數(shù)用法及說(shuō)明

    python argparse 模塊命令行參數(shù)用法及說(shuō)明

    這篇文章主要介紹了python argparse 模塊命令行參數(shù)用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python中l(wèi)ogger模塊的使用場(chǎng)景分析

    Python中l(wèi)ogger模塊的使用場(chǎng)景分析

    logger是python的內(nèi)置模塊,用以輸出代碼運(yùn)行過(guò)程中的運(yùn)行情況,極大的方便了我們的debug過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹了Python中l(wèi)ogger模塊的使用教程,需要的朋友可以參考下
    2023-06-06
  • Django使用list對(duì)單個(gè)或者多個(gè)字段求values值實(shí)例

    Django使用list對(duì)單個(gè)或者多個(gè)字段求values值實(shí)例

    這篇文章主要介紹了Django使用list對(duì)單個(gè)或者多個(gè)字段求values值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python格式化字符串f-string概覽(小結(jié))

    Python格式化字符串f-string概覽(小結(jié))

    這篇文章主要介紹了Python格式化字符串f-string概覽(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評(píng)論

成武县| 壶关县| 上饶县| 鱼台县| 宜丰县| 武威市| 山西省| 西平县| 石家庄市| 靖江市| 安乡县| 博湖县| 乌鲁木齐县| 凤凰县| 平远县| 镇宁| 宣汉县| 宁蒗| 普定县| 马尔康县| 霸州市| 锡林郭勒盟| 寿阳县| 大足县| 西林县| 上饶县| 雅江县| 中西区| 福安市| 社会| 揭阳市| 磐石市| 台南市| 神木县| 阳江市| 马龙县| 灵寿县| 肃北| 奉新县| 金华市| 阜南县|