python 中带箭头的递增日期不更改属性

Increment date with arrow in python not changing properties

我正在使用 .replace 和 .shift 方法 increment/decrement 一个箭头日期。然而,这种行为是完全出乎意料的。请参阅下面的 python 会话作为示例。

>>> import arrow
>>> ref = arrow.get('2019-08-01', 'YYYY-MM-DD')
>>> ref.weekday()
3
>>> ref.day
1
>>> ref.shift(days=1)
<Arrow [2019-08-02T00:00:00+00:00]>
>>> ref.weekday()
3
>>> ref.day
1
>>> ref
<Arrow [2019-08-01T00:00:00+00:00]>
>>> 

将箭头移动一天后,我希望工作日和日期属性会增加。但是它们保持不变。对此有什么解释吗?

使用替换做同样的事情。

试试这个ref = ref.shift(days=1)

shift 不更新对象,它 returns 一个更新的对象...

C:\Users\deanv>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import arrow
>>> ref = arrow.get('2019-08-01', 'YYYY-MM-DD')
>>> ref.weekday()
3
>>> ref.day
1
>>> ref = ref.shift(days=1)
>>> ref.weekday()
4
>>> ref.day
2
>>>