Baseado na documentação para strptime
, Acredito que meu código esteja correto para um fuso horário de 3 caracteres e AM / PM.
Por que o Python 2.5 e o Python 3.6 não gostam do formato de tempo da cadeia de caracteres que estou usando?
import datetime
ts = datetime.datetime.strptime(
"11/30/2017 01:08:05 PM CST",
"%m/%d/%Y %I:%M:%S %p %z"
)
ou
import datetime
ts = datetime.datetime.strptime(
"11/30/2017 01:08:05 PM CST",
"%m/%d/%Y %I:%M:%S %p %Z"
)
Quando executar ambos retornam:
ValueError: time data "11/30/2017 01:08:05 PM CST" does
not match format "%m/%d/%Y %I:%M:%S %p %Z"
Respostas:
0 para resposta № 1Fusos horários simbólicos, como CST
não são analisados por strptime
. Além disso, eles são relativamente sem sentido. É CST
:
- Horário Padrão Central; ou
- Horário Padrão da China; ou
- Hora Padrão de Cuba.
Para lidar com a sua situação, você deve considerar o uso dateutil.parser
e dando-lhe um tzinfo
para os fusos horários que você deseja suportar.