15.12.2022 Views

Python Eficaz

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

>>>

2014-05-02 03:33:24+00:00

Uma vez tendo um datetime em formato UTC, posso convertê-lo para o horário

de São Francisco.

pacific = pytz.timezone('US/Pacific')

sf_dt = pacific.normalize(utc_dt.astimezone(pacific))

print(sf_dt)

>>>

2014-05-01 20:33:24-07:00

Da mesma forma, é muito fácil converter o mesmo horário para o fuso do Nepal.

nepal = pytz.timezone('Asia/Katmandu')

nepal_dt = nepal.normalize(utc_dt.astimezone(nepal))

print(nepal_dt)

>>>

2014-05-02 09:18:24+05:45

Com datetime e pytz, essas conversões são consistentes em todos os ambientes

computacionais independente de qual sistema operacional estiver no comando.

Lembre-se

• Evite usar o módulo time para converter entre fusos horários diferentes.

• Use o módulo nativo datetime junto com o módulo pytz para converter de

forma eficiente os horários entre dois fusos distintos.

• Sempre represente o horário em UTC durante o processamento e o converta

para o fuso de destino só no final.

Item 46: Use algoritmos e estruturas de dados nativos

Ao implementar programas em Python que lidam com quantidades não triviais

de dados, fatalmente experimentaremos momentos de lentidão causados pela

complexidade algorítmica de nosso código. Isso não se deve a uma deficiência

de desempenho do Python enquanto linguagem (caso seja mesmo culpa do

Python, consulte o Item 41: “Considere usar concurrent.futures para obter

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!