Opção: isoformat()
O Python datetime
não suporta os sufixos de fuso horário militares como o sufixo 'Z' para UTC. A seguinte substituição simples de string resolve:
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)
é essencialmente o mesmo que d.isoformat(sep=' ')
Veja: Datetime, Python Standard Library
Opção: strftime()
Ou você pode usar strftime
para obter o mesmo efeito:
In [4]: d.strftime('%Y-%m-%d %H:%M:%SZ')
Out[4]: '2014-12-10 12:00:00Z'
Observação: esta opção funciona apenas quando você sabe que a data especificada está em UTC.
Veja: datetime.strftime ()
Adicional: fuso horário legível
Indo além, você pode estar interessado em exibir informações de fuso horário legíveis por humanos, pytz
com a strftime
%Z
sinalização de fuso horário:
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'