Опция: isoformat()
Python datetime
не поддерживает суффиксы военных часовых поясов, такие как суффикс Z для UTC. Следующая простая замена строки делает свое дело:
In [1]: import datetime
In [2]: d = datetime.datetime(2014, 12, 10, 12, 0, 0)
In [3]: str(d).replace('+00:00', 'Z')
Out[3]: '2014-12-10 12:00:00Z'
str(d)
по сути то же самое, что d.isoformat(sep=' ')
См .: Datetime, Стандартная библиотека Python.
Опция: strftime()
Или вы можете использовать strftime
для достижения того же эффекта:
In [4]: d.strftime('%Y-%m-%d %H:%M:%SZ')
Out[4]: '2014-12-10 12:00:00Z'
Примечание. Этот параметр работает только в том случае, если вы знаете, что указанная дата находится в формате UTC.
См .: datetime.strftime ()
Дополнительно: часовой пояс, читаемый человеком
В дальнейшем вы можете быть заинтересованы в отображении информации о часовом поясе, удобочитаемой человеком, pytz
с strftime
%Z
флагом часового пояса:
In [5]: import pytz
In [6]: d = datetime.datetime(2014, 12, 10, 12, 0, 0, tzinfo=pytz.utc)
In [7]: d
Out[7]: datetime.datetime(2014, 12, 10, 12, 0, tzinfo=<UTC>)
In [8]: d.strftime('%Y-%m-%d %H:%M:%S %Z')
Out[8]: '2014-12-10 12:00:00 UTC'