【问题标题】:Adding a timedelta of +1 day to a date with pytz in python在python中使用pytz将+1天的时间增量添加到日期
【发布时间】:2016-08-21 02:36:27
【问题描述】:

我正在尝试向我的日期时间对象添加 +1 天的时间增量:

.timedelta(days=1)

与:

datetime.now(pytz.timezone('Europe/London')).strftime("%d%m%Y")`

但由于某种原因,它不起作用,因为它不允许将其放在该行的任何位置。

我也试过了:

GMTDAY = datetime.now(pytz.timezone('Europe/London'))
GMTDAY = str(GMTDAY + timedelta(days=1))
GMTDAY = datetime(int(GMTDAY)).strftime("%d%m%Y")

但是返回:

基数为 10 的 int() 的无效文字:'2016-04-28 02:50:52.436000+01:00'

知道我做错了什么以及如何解决吗?

编辑:

这不是重复的,因为这个是专门用 pytz 做的,不用 pytz 也很容易。

【问题讨论】:

标签: python python-2.7 python-3.x datetime pytz


【解决方案1】:

如果我正确解释了您要执行的操作,请尝试以下操作:

GMTDAY = datetime.now(pytz.timezone('Europe/London'))
GMTDAY += timedelta(days=1)
tomorrow = GMTDAY.strftime("%d-%m-%Y")
print(tomorrow)

输出:

28-04-2016

【讨论】:

  • 我根据其他一些stackoverflow帖子将其转换为字符串,是否可以将其压缩为一行代码?
  • @Ryflex:如果+DAY 将日期移动到夏令时边界,那么您必须使用pytz_timezone.normalize() 方法来获取正确的本地时间。
猜你喜欢
  • 1970-01-01
  • 2012-05-05
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
相关资源
最近更新 更多