Eu estou tentando descobrir as diferenças entre o datetime
e time
módulos, e que cada um deve ser usado para.
Eu sei que datetime
fornece datas e horas. Qual é a utilidade do time
módulo?
Os exemplos seriam apreciados e as diferenças em relação aos fusos horários seriam especialmente interessantes.
time
edatetime.time
?Atenha-se
time
para evitar a ambiguidade do horário de verão.Use exclusivamente o
time
módulo do sistema em vez dodatetime
módulo para evitar problemas de ambiguidade com horário de verão (DST) .A conversão para qualquer formato de hora, incluindo a hora local, é bastante fácil:
time.time()
é um número de ponto flutuante que representa o tempo em segundos desde a época do sistema.time.time()
é ideal para estampagem de tempo inequívoca.Se o sistema executar adicionalmente o daemon de protocolo de tempo de rede (NTP) , um terminará com uma base de tempo bastante sólida.
Aqui está a documentação do
time
módulo.fonte
time.localtime()
que, obviamente, possui o horário de verão. Se formos puristas, não deveríamos usá-lotime.gmtime()
? :)ipython
programas quetime.gmtime()
produzem uma tupla, enquantotime.time()
fornece ao tempo da época UNIX um único valor decimal de segundos decorridos desde 00:00:00 UTC, quinta-feira, 1 de janeiro de 1970. A funçãotime.localtime(t)
converte o tempo da época em um local tupla de tempo. Portanto, a resposta para sua pergunta é «não».t = time.time()
é um número de ponto flutuante que representa o tempo em segundos desde a época do sistema. Portanto, pode-se simplesmente adicionar ou subtrair 86400 segundos para todos os dias;t += 86400
O módulo de hora pode ser usado quando você só precisa da hora de um registro específico - como digamos que você tenha uma tabela / arquivo separado para as transações de cada dia, então você precisaria apenas da hora. No entanto, o tipo de dados de hora é geralmente usado para armazenar a diferença de hora entre 2 pontos de tempo.
Isso também pode ser feito usando datetime, mas se estamos lidando apenas com o horário de um dia específico, o módulo de horário pode ser usado.
Datetime é usado para armazenar dados e horas específicos para um registro. Como em uma agência de aluguel. A data de vencimento seria um tipo de dados datetime.
fonte
Se você está interessado em fusos horários, considere o uso de pytz.
fonte