Часы переключения стрелки питона
Я пытаюсь добавить (сдвинуть) 6 часов к объекту со стрелкой, но каким-то образом он заменяет его:
>>> import arrow
>>> print(arrow.utcnow(),arrow.utcnow().replace(hour=+6))
2017-04-19T18:29:16.217239+00:00 2017-04-19T06:29:16.217304+00:00
Документация дает мне этот пример:
arw.replace(weeks=+3)
Почему не работает час? Что я здесь не так делаю?
1 ответ
Вам нужно положить s
позади hour
:
>>> print(arrow.utcnow(),arrow.utcnow().replace(hours=+6))
2017-04-19T18:40:41.096311+00:00 2017-04-20T00:40:41.096371+00:00
Документы немного поспешны в их примере, но вы могли бы вывести это (недели против недели)
Или получите один с атрибутами, сдвинутыми вперед или назад:
>>> arw.replace(weeks=+3) <Arrow [2013-06-02T03:29:35.334214+00:00]>
(из документов)
3
а также +3
Разбор точно такой же (положительное значение 3), поэтому знак плюс не та часть, которая делает сдвиг. Это только разница между week
а также weeks
,
В новых версиях вы можете использовать .shift(hours=+6)
чтобы избежать путаницы, как это описано в документации по API.