Converter data e hora em data em Python
-
Use a função
datetime.date()para converter Datetime to Date em Python - Use o Pandas para converter DateTime em Date 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
datetimepela funçãodatetime.datetime.now(). - A data atual como um objeto do tipo
dateé fornecida com a ajuda da funçãodate()junto com a funçãodatetime.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
DataFramee 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 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