Python来获取昨天、今天、上个月、下个月的日期

目录

 '获取今天(现在时间) '昨天 '明天 '获取当前日期 '一秒后的时间 '一分钟后的时间 '一小时后的时间'一年后的时间

获取上个月日期

获取下一个月开始日期和结束日期

获取上一个月开始日期和结束日期


 '获取今天(现在时间)
 '昨天
 '明天
 '获取当前日期
 '一秒后的时间
 '一分钟后的时间
 '一小时后的时间
'一年后的时间

import datetime
 
# 获取今天(现在时间)
today = datetime.datetime.today()
# 昨天
yesterday = today - datetime.timedelta(days=1)
# 明天
tomorrow = today + datetime.timedelta(days=1)
 
# 获取当前日期
date = datetime.date.today()
# 获取一秒后的时间
s = today + datetime.timedelta(seconds=1)
# 获取一分钟后的时间
m = today + datetime.timedelta(minutes=1)
# 获取一小时后的时间
h = today + datetime.timedelta(hours=1)
# 获取一年后的时间
y = today + datetime.timedelta(days=365)
 
print('获取今天(现在时间):{}\n'.format(today),
      '昨天:{}\n'.format(yesterday),
      '明天:{}\n'.format(tomorrow),
      '获取当前日期:{}\n'.format(date),
      '一秒后的时间:{}\n'.format(s),
      '一分钟后的时间:{}\n'.format(m),
      '一小时后的时间:{}\n'.format(h),
      '一年后的时间:{}'.format(y))

获取上个月日期

 >>> import datetime
 # 1. 获取「今天」
 >>> today = datetime.date.today()
 # 2. 获取当前月的第一天
 >>> first = today.replace(day=1)
 # 3. 减一天,得到上个月的最后一天
 >>> last_month = first - datetime.timedelta(days=1)
 # 4. 格式化成指定形式
 >>> print(last_month.strftime("%Y%m"))
 201807
 >>>

获取下一个月开始日期和结束日期

import time
import datetime
import calendar
from dateutil.relativedelta import relativedelta
cur_date_str = str(time.strftime("%Y-%m", time.localtime())) + "-01"
cur_date_str = datetime.datetime.strptime(cur_date_str, '%Y-%m-%d')
pastTimes1_start = cur_date_str - relativedelta(months=-1)  # 这个1指 当前月份 往前推1个月
pastTimes1_end = str(pastTimes1_start.year) + "-" + str(pastTimes1_start.month) + '-' + str(
    calendar.monthrange(int(pastTimes1_start.year), int(pastTimes1_start.month))[1])

print(pastTimes1_start)
print(pastTimes1_end)

如下 

D:\Python310\python.exe C:/Users/Administrator/Desktop/测试代码.py
2022-06-01 00:00:00
2022-6-30

Process finished with exit code 0

获取上一个月开始日期和结束日期

import time
import datetime
import calendar
from dateutil.relativedelta import relativedelta
cur_date_str = str(time.strftime("%Y-%m", time.localtime())) + "-01"
cur_date_str = datetime.datetime.strptime(cur_date_str, '%Y-%m-%d')
pastTimes1_start = cur_date_str - relativedelta(months=1)  # 这个1指 当前月份 往前推1个月
pastTimes1_end = str(pastTimes1_start.year) + "-" + str(pastTimes1_start.month) + '-' + str(
    calendar.monthrange(int(pastTimes1_start.year), int(pastTimes1_start.month))[1])

print(pastTimes1_start)
print(pastTimes1_end)

如下:

D:\Python310\python.exe C:/Users/Administrator/Desktop/测试代码.py
2022-04-01 00:00:00
2022-4-30

Process finished with exit code 0

### 回答1: 可以使用Python中的datetime模块来获取上个月日期。以下是一个示例代码: ```python import datetime today = datetime.date.today() first_day = today.replace(day=1) last_month = first_day - datetime.timedelta(days=1) print(last_month.strftime('%Y-%m')) ``` 这段代码首先获取当天的日期,然后将日期调整为当月的第一天。接着,通过减去一天的时间差,就可以得到上个月的最后一天。最后,使用strftime方法将上个月的年份和月份格式化为字符串进行输出。 ### 回答2: Python中可以使用`datetime`模块来获取上个月的年份和月份。 首先,我们需要将当前日期减去一个月,然后再获取年份和月份。以下是获取上个月年份和月份的示例代码: ``` from datetime import datetime, timedelta # 获取当前日期 today = datetime.now() # 计算上个月的年份和月份 last_month = today - timedelta(days=30) year = last_month.year month = last_month.month print(year, month) ``` 在这个示例中,我们使用`timedelta`对象将当前日期减去了30天,从而得到了上个月日期。然后,我们通过`year`和`month`属性分别获取上个月的年份和月份。 运行以上代码,你将得到输出结果中的上个月的年份和月份。 上述方法也可以用于获取任意一个月份之前的月份。如果要获取更多关于`datetime`模块的详细信息,你可以查阅Python官方文档。 ### 回答3: 在Python中,我们可以使用`datetime`模块来获取上个月日期。 首先,我们需要导入`datetime`模块: ```python import datetime ``` 然后,我们可以使用`datetime`模块中的`datetime`类来获取当前的日期时间。通过调用`today()`方法可以获取当前日期时间,然后使用`month`属性来获取当前月份: ```python current_date = datetime.datetime.today() current_month = current_date.month ``` 接下来,我们可以使用`timedelta`类来进行日期的计算。通过创建一个`timedelta`对象,我们可以指定需要添加或减少的时间量,然后使用`current_date`减去这个时间量可以得到上个月日期: ```python from datetime import timedelta # 创建一个用于表示一个月时间量的timedelta对象 one_month = timedelta(days=30) # 计算上个月日期 last_month = current_date - one_month ``` 最后,我们可以使用`strftime()`方法来格式化日期对象,以获得上个月日期字符串。通过提供`'%Y-%m'`格式可以只获取年份和月份: ```python last_month_str = last_month.strftime("%Y-%m") ``` 这样,`last_month_str`变量就包含了上个月的年份和月份,例如:2021-09。 综上所述,以上代码演示了如何在Python获取上个月日期
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值