确定日期前一个月 - Python

时间:2015-04-06 21:02:16

标签: python datetime time

在python中,如何确定下一个日期之前的月份:

t = datetime.date(2014, 01, 03)

这样结果将是:

2013-12-03

4 个答案:

答案 0 :(得分:1)

查找相对于给定日期的上个月:

#!/usr/bin/env python
from datetime import date, timedelta

t = date(2014, 1, 3)
print(t.replace(day=1) - timedelta(1)) # the last day of the previous month
# -> 2013-12-31

答案 1 :(得分:1)

import dateutil.relativedelta
t - dateutil.relativedelta.relativedelta(months=1)

答案 2 :(得分:0)

如果你想知道昨天的日期:

from datetime import date, timedelta
date1 = date(2014, 1, 3)
date2 = date1 - timedelta(days=1)
print date2.strftime('%y, %m, %d')

如果您想知道1个月前的日期:

from datetime import timedelta, date
def subtract_one_month(dt0):
    dt1 = dt0.replace(days=1)
    dt2 = dt1 - timedelta(days=1)
    dt3 = dt2.replace(days=1)
    return dt3

date1 = date(2014, 1, 3)
date2 = subtract_one_month(date1)
print date2.strftime('%y, %m, %d')

答案 3 :(得分:0)

您可以做的是为每个时间,年,月和日的度量设置单独的变量。然后,您可以使用if语句,当月份为1时,年份返回1,月份设置为12.最后,只需将这些数字插入括号中即可完成设置!

year = 2014
month = 1
day = 3
if month == 1:
    year -= 1
    month = 12

else:
    month -= 1

t = date.datetime(year, month, date)