Часовой пояс не определяется при форматировании даты и времени - PullRequest
0 голосов
/ 10 марта 2012

У меня есть строка в этом формате: Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time), я собираюсь преобразовать ее в этот формат: 2012-02-27T13:15:00.000, я сделал это:

startTime=`Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time)`
strp_time = time.strptime(startTime, '%a %b %d %Y %H:%M:%S %Z')
start = time.strftime('%Y-%m-%dT%H:%M:%S',strp_time)

Но это вызвало эту ошибку:

unconverted data remains: +0330 (Iraq Standard Time)

Итак, я попытался удалить (Iraq Standard Time):

start=re.sub(r' \(.+?\)$', '', startTime)
strp_time = time.strptime(start, '%a %b %d %Y %H:%M:%S %Z')
start = time.strftime('%Y-%m-%dT%H:%M:%S',strp_time)

Но я получаю эту ошибку:

unconverted data remains: +0330

1 Ответ

1 голос
/ 10 марта 2012

Если вы измените свое регулярное выражение на:

start=re.sub(r'(\+.*)|(\-.*)$', '', startTime)

Это будет работать, так как вы также можете удалить информацию о разнице часовых поясов (+ или -), это будет хорошо для вас, так как вы все равно отбрасываете данные% Z.

Возможно, вы сможете использовать% z, чтобы получить разницу во времени +0330, но она не работает с моей версией Python, возможно, из-за ошибки. Что, кажется, разрешено для Python 3.2, см. http://bugs.python.org/issue6641

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...