Параметр даты и времени из строки с часовым поясом с помощью стрелки

У меня

import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'

Как я могу разобрать это со стрелкой, чтобы получить объект Arrow с часовым поясом tz? Следующие значения по умолчанию соответствуют времени UTC.

In [30]: arrow.get(s, 'YYYY/M/D HH:mm:ss')
Out[30]: <Arrow [2015-12-01T19:00:00+00:00]>

Я знаю функцию .to, но которая преобразует часовой пояс, но не позволяет мне изменять часовой пояс.

Ответ 1

Попробуйте следующее:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=dateutil.tz.gettz(tz))

Ответ 2

Я еще не квалифицирован, чтобы добавить комментарий, и хотел бы просто поделиться более простой версией ответа с выражением timezone str.

s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=tz)

или просто локальный часовой пояс:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo='local')

или указан стиль ISO-8601:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo='+08:00')