1

我使用日期时间,我有:

delta = ((datetime.date.today() + datetime.timedelta(days=1)) - datetime.timedelta(???)).isoformat()

我需要更换???从一天到月底。

怎么做?

4

3 回答 3

5

要计算当前月的结束日期,请取当月的第一天,加上 1 个月并减去 1 天。例如,对于 9 月 28 日,您最终会得到

1 September + 1 month = 1 October
1 October - 1 day = 30 September.
于 2011-09-08T11:31:33.473 回答
3
import datetime

d = datetime.date(2013,12,8)

last_day = datetime.date(d.year, (d.month+1)%12, 1) - datetime.timedelta(1,0,0)
于 2011-09-08T13:50:47.850 回答
0

为了正确处理新年前后的日期,我发现dateutil.relativedelta是一个更好的选择。

另请参阅如何在 python 中增加日期时间月份

import datetime
from dateutil.relativedelta import relativedelta

d = datetime.date(2013,12,8)

last_day = datetime.date(d.year, d.month, 1)+relativedelta(months=1, days=-1)
于 2014-05-06T14:19:17.907 回答