Ответ 1
Попробуйте следующее:
arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=dateutil.tz.gettz(tz))
У меня
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
, но которая преобразует часовой пояс, но не позволяет мне изменять часовой пояс.
Попробуйте следующее:
arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=dateutil.tz.gettz(tz))
Я еще не квалифицирован, чтобы добавить комментарий, и хотел бы просто поделиться более простой версией ответа с выражением 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')