Python Converter data e hora em época

Vaibhhav Khetarpal 30 janeiro 2023
  1. Use o método explícito para converter data e hora em época em Python
  2. Use a função timestamp() para converter data e hora em época em Python
  3. Use a função strftime(format) para converter data e hora em época em Python
  4. Use a função timegm para converter DateTime em Epoch em Python
Python Converter data e hora em época

A biblioteca datetime pode ser importada para um programa Python. Ele fornece classes usadas na manipulação de data e hora no código Python.

epoch é o ponto de partida para medir o tempo decorrido, e seu valor geralmente varia e depende da plataforma que está sendo usada.

Este tutorial discutirá diferentes métodos para converter data e hora em época em Python.

Use o método explícito para converter data e hora em época em Python

Neste método, pegamos a data atual e a subtraímos manualmente da data inicial e então a convertemos em segundos usando a função total_seconds() e exibindo-a.

A data inicial aqui é 01/01/1970.

O código a seguir usa o método explícito para converter data e hora em época em Python.

import datetime

ts = (
    datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)

Resultado:

1575158400.0

Use a função timestamp() para converter data e hora em época em Python

Um carimbo de data/hora é uma série de caracteres que determina o valor de quando um determinado evento ocorreu.

Python fornece uma função timestamp(), que pode ser usada para obter o carimbo de data/hora desde a época.

O código a seguir usa a função timestamp() para converter data e hora em época em Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)

Resultado:

1575158400.0

Este é um método bastante fácil e nos fornece resultados precisos.

Observe que a função timestamp() funciona apenas no Python 3.3+ e não é aplicável para uso nas versões anteriores do Python.

Use a função strftime(format) para converter data e hora em época em Python

O método strftime(format) é usado para converter um objeto em uma string com base no formato especificado pelo usuário.

Para o reverso deste processo, o método strptime() é usado.

O código a seguir usa o método strftime(format) para converter data e hora em época em Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)

Resultado:

1575158400

strftime(format) pode nem sempre fornecer a solução correta. Este método usa a diretiva %s como um argumento de strftime, que Python realmente não suporta. Pode funcionar porque o Python encaminha %s para o método strftime do sistema.

Este método não é o método mais preciso para a conversão de data e hora em época. Não é recomendado usar este método simplesmente porque existem métodos melhores e mais precisos.

Use a função timegm para converter DateTime em Epoch em Python

A função timegm() pega um valor de tempo específico e retorna seu valor de carimbo de data/hora Unix correspondente. A época é considerada como 1970 e a codificação POSIX é assumida. As funções time.gmtime() e timegm() são inversas uma da outra.

Ambas as bibliotecas calendar e time precisam ser importadas para o programa Python para usar essas funções.

O módulo calendar nos fornece a capacidade de produzir calendários e algumas funções adicionais e úteis relacionadas a ele.

O código a seguir usa a função timegm() para converter a data e hora em época.

import datetime
import calendar

d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))

Resultado:

1575158400
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artigo relacionado - Python DateTime