2016-11-22 1 views
1

Когда я бегу:datetime.strptime() не возвращает правильную информацию часового пояса, только распознает UTC как имя собственно часового пояса

datetime.strptime('UTC', '%Z') 

Это компилируется нормально, потому что, как указано here представление для временных сокращений зоны '% Z'

Но если я бегу ...

datetime.strptime('EST', '%Z') 

Я получаю ValueError 'EST' не соответствует формату '% Z', хотя, как и раньше 'EST' даже Provid в качестве примера для% Z на

Что я делаю неправильно?

+1

Вы используете Python 3.5 или более раннюю версию? «strptime» изменился один или два раза, это начало почти бесполезно для работы с часовыми поясами, и я не думаю, что он значительно улучшился. –

ответ

0

Если вам нужно работать с часовых поясов использовать pytz

from pytz import timezone 
str(datetime.datetime.now(timezone('EST'))) 
1
from datetime import datetime, timedelta 
from pytz import timezone 
import pytz 
eastern = timezone('US/Eastern') 
loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) 
print(loc_dt.strftime('%Z')) 

Для refrence Пожалуйста, посмотрите на эту ссылку (http://pytz.sourceforge.net/)!

Смежные вопросы