优草派  >   Python

Python获取n年后的今天是几号怎么做?Python如何指定天数前后日期

罗西汉            来源:优草派

在python之中有两个标准库能够来获取时间以及完成时间计算操作,而最近有小伙伴问小编怎么在python中实现获取n年后的今天是几号。那么下面这一篇文章就是会来详细讲解一下python获取指定日期前后今天日期是多少的方法,想学习就继续往下看看吧。

Python获取n年后的今天是几号怎么做?Python如何获取3年前今天日期

一、获取n年后今天

这个需求可以通过标准库datetime中的方法来实现,因为n是未知数,所以它可以通过用户输入或者开发者自行更改来修改。虽然有时候会有闰年以及特殊年的出现,但是按照现在的公历来计算每年的今天日期都是固定不变的,改变的只有年份而已。

那么就只需要先调用now()方法获取到当前时间,然后通过year这个属性获取到日期中的年份。再定义变量n来表示几年后,这个n需要接收的值为整数。然后调用replace()方法来给这个年份加上n就可以了,详细代码示例如下所示:

from datetime import *
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
now_year = datetime.now().year
n = 6
n_year_later = datetime.now().replace(year=datetime.now().year+n).strftime("%Y-%m-%d %H:%M:%S")
print(n_year_later)
2029-01-03 17:19:50

二、指定天数前后的日期

那么这个获取几年后的今天是几号实际上通过自己加一下年份就可以得出来了,而真正需要使用程序来完成的操作是,获取指定天数前后的日期是几号。例如要获取15365天之后的日期,此时直接给当前时间加上天数自然是行不通的。

而datatime模块有一个方法叫做timedelta(),它能够用来计算指定年、月、日前后的日期是多少。只需要在其中传入days方法并指定添加即可,详细代码示例如下所示:

import datetime
now = datetime.datetime.now().date()
delta = datetime.timedelta(days = 300)
print(now - delta)
2022-03-09

以上代码获取到的就是300天之前距今的日期是多少,如果将这个数字换成是负数的话,那么获取到的日期就是指定天数之后距离今天的日期了。

以上就是关于“Python获取n年后的今天是几号怎么做?Python如何获取3年前今天日期”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。