Converter data e hora em data em Python

Vaibhhav Khetarpal 10 outubro 2023
  1. Use a função datetime.date() para converter Datetime to Date em Python
  2. Use o Pandas para converter DateTime em Date em Python
Converter data e hora em data em Python

Python não contém nenhum tipo específico de dados embutido para armazenar data e hora. No entanto, ele fornece um módulo datetime que fornece ao usuário classes que alteram e manipulam a data e a hora no código Python.

Neste tutorial, aprenderemos as diferentes maneiras disponíveis para converter DateTime em data em Python.

Antes de listar as diferentes formas de implementação deste processo, vamos entender a diferença entre um objeto datetime e um objeto date.

Um objeto datetime é capaz de retornar a hora e a data. Normalmente, ele contém uma grande variedade de valores, a saber, os valores de microssegundo, segundo, minuto, hora, dia, mês e ano. Por outro lado, um objeto do tipo date contém apenas a data.

Use a função datetime.date() para converter Datetime to Date em Python

O construtor datetime() pode ser utilizado para gerar uma data.

O construtor datetime() tem três parâmetros: dia, mês e ano.

Esses três parâmetros são necessários para gerar uma data com o construtor.

O programador pode simplesmente usar a função date() que retorna um objeto do tipo date.

O código a seguir usa a função date() para converter DateTime em data em Python.

import datetime

print(datetime.datetime.now())
print(datetime.datetime.now().date())

Resultado:

2021-10-17 21:27:46.018327
2021-10-17

Explicação

  • O módulo datetime é importado para o código Python
  • A data e hora atuais são fornecidas como um objeto datetime pela função datetime.datetime.now().
  • A data atual como um objeto do tipo date é fornecida com a ajuda da função date() junto com a função datetime.datetime.now().

A função datetime.date.today() pode ser utilizada quando houver necessidade de encontrar a data atual diretamente. No entanto, esta alternativa não funciona se precisarmos de mais alguma coisa, exceto a data atual.

O código a seguir usa a função datetime.date.today().

import datetime

print(datetime.datetime.now())
print(datetime.date.today())

Resultado:

2021-10-17 21:27:46.018327
2021-10-17

Para este caso específico, ambos os métodos fornecem a mesma saída, pois estamos trabalhando na data atual.

Use o Pandas para converter DateTime em Date em Python

O Pandas DataFrame pode ser utilizado para gerar matrizes que acomodam os valores de hora e data.

Para usar o pandas DataFrame e gerar um array contendo a coluna time, precisamos importar o módulo pandas.

O código a seguir usa o pandas DataFrame para converter DateTime em data em Python.

import pandas as pd

dataf = pd.DataFrame(
    {"EMP": [3, 6], "time": ["2021-10-15 16:05:00", "2021-10-17 20:00:30"]}
)
print(dataf)
dataf["time"] = pd.to_datetime(dataf["time"]).dt.date
print(dataf)

Resultado:

EMP                 time
0    3  2021-10-15 16:05:00
1    6  2021-10-17 20:00:30
EMP        time
0    3  2021-10-15
1    6  2021-10-17

É claramente visível no código acima que após a execução da função dt.date, a coluna da hora exibe apenas a hora e a data.

Explicação

  • Em primeiro lugar, criamos um pandas DataFrame e adicionamos os valores DateTime em uma coluna.
  • Então, a função dt.date() é utilizada para converter o valor DateTime em um valor de data.
  • O comando print é utilizado para exibir o valor da data e o valor DateTime na saída.
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