将Python中的日期时间设置为utcnow-30。

3

我正在尝试使用utcnow将日期时间设置为现在-一个月。

就像这样:

newdate = datetime.datetime.utcnow().replace(tzinfo=utc) - 30

当然,-30 是无效的。
2个回答

6

使用 timedelta

newdate = datetime.datetime.utcnow().replace(tzinfo=utc) - datetime.timedelta(days=30)

由于Python3中的datetime库存在许多警告,因此我会使用datetime.datetime.now(tz=timezone.utc)来获取非naive datetime对象。 - ruralcoder

2

如果您需要一个月的时间(而不仅仅是30天),请使用dateutil模块:

import dateutil
now = datetime.datetime.utcnow().replace(tzinfo=utc)
newdate = now - dateutil.relativedelta(months=1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接