在python中,如何确定下一个日期之前的月份:
t = datetime.date(2014, 01, 03)
这样结果将是:
2013-12-03
答案 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)