AP2*_*257 46 python datetime timedelta
在Python中,如何获取"3年前的今天"的datetime对象?
更新:FWIW,我不太关心准确性......也就是今天2月29日,我不在乎我是在2月28日还是3月1日给我答案.在这种情况下,简洁比可配置性更重要.
Vin*_*cer 115
如果您需要准确使用dateutil模块来计算相对日期
from datetime import datetime
from dateutil.relativedelta import relativedelta
three_yrs_ago = datetime.now() - relativedelta(years=3)
Run Code Online (Sandbox Code Playgroud)
Fáb*_*niz 65
import datetime
datetime.datetime.now() - datetime.timedelta(days=3*365)
Run Code Online (Sandbox Code Playgroud)
Gle*_*ard 21
减去365*3天当然是错误的 - 你跨越闰年超过一半的时间.
dt = datetime.now()
dt = dt.replace(year=dt.year-3)
# datetime.datetime(2008, 3, 1, 13, 2, 36, 274276)
Run Code Online (Sandbox Code Playgroud)
ED:为了使闰年问题正确,
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41184 次 |
| 最近记录: |