Python strftime () - data e hora para string

Neste artigo, você aprenderá a converter objetos de data, hora e data e hora em sua string equivalente (com a ajuda de exemplos)

O strftime()método retorna uma string que representa a data e a hora usando o objeto data, hora ou data e hora.

Exemplo 1: data e hora para string usando strftime ()

O programa abaixo converte um datetimeobjeto que contém a data e hora atuais em diferentes formatos de string.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

Quando você executa o programa, a saída será algo como:

 ano: 2018 mês: 12 dias: 24 hora: 04:59:31 data e hora: 24/12/2018, 04:59:31 

Aqui, ano, dia, hora e data_hora são strings, enquanto agora é um datetimeobjeto.

Como funciona o strftime ()?

No programa acima, %Y, %m, %detc, são códigos de formato. O strftime()método recebe um ou mais códigos de formato como um argumento e retorna uma string formatada com base nele.

  1. Importamos datetimeclasse do datetimemódulo. É porque o objeto da datetimeclasse pode acessar o strftime()método.
  2. O datetimeobjeto que contém a data e a hora atuais é armazenado na variável now.
  3. O strftime()método pode ser usado para criar strings formatadas.
  4. A string que você passa para o strftime()método pode conter mais de um código de formato.

Exemplo 2: Criação de string a partir de um carimbo de data / hora

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

Quando você executa o programa, a saída será:

 Objeto de data e hora: 12/06/2018 09:55:22 Saída 2: 12/06/2018, 09:55:22 Saída 3: 12 de junho de 2018 Saída 4: 12 de junho de 2018 Saída 5: 09h 

Lista de códigos de formato

A tabela abaixo mostra todos os códigos que você pode passar para o strftime()método.

Diretriz Significado Exemplo
%a Nome abreviado do dia da semana. Sol, Seg, …
%A Nome completo do dia da semana. Domingo segunda-feira,…
%w Dia da semana como um número decimal. 0, 1, …, 6
%d Dia do mês como uma casa decimal com zeros. 01, 02, …, 31
%-d Dia do mês como um número decimal. 1, 2, …, 30
%b Nome abreviado do mês. Janeiro, fevereiro, …, dezembro
%B Nome completo do mês. Janeiro fevereiro,…
%m Mês como um número decimal preenchido com zero. 01, 02, …, 12
%-m Mês como um número decimal. 1, 2, …, 12
%y Ano sem século como um número decimal preenchido com zero. 00, 01, …, 99
%-y Ano sem século como número decimal. 0, 1, …, 99
%Y Ano com século como número decimal. 2013, 2019 etc.
%H Hora (relógio de 24 horas) como um número decimal preenchido com zero. 00, 01, …, 23
%-H Hora (relógio de 24 horas) como um número decimal. 0, 1, …, 23
%I Hora (relógio de 12 horas) como um número decimal preenchido com zero. 01, 02, …, 12
%-I Hora (relógio de 12 horas) como um número decimal. 1, 2, … 12
%p AM ou PM do local. MANHÃ TARDE
%M Minuto como um número decimal preenchido com zero. 00, 01, …, 59
%-M Minuto como um número decimal. 0, 1, …, 59
%S Em segundo lugar, como um número decimal preenchido com zero. 00, 01, …, 59
%-S Em segundo lugar como um número decimal. 0, 1, …, 59
%f Microssegundo como um número decimal, preenchido com zeros à esquerda. 000000 - 999999
%z Deslocamento UTC no formato + HHMM ou -HHMM.
%Z Nome do fuso horário.
%j Dia do ano como um número decimal preenchido com zero. 001, 002, …, 366
%-j Dia do ano como um número decimal. 1, 2, …, 366
%U Número da semana do ano (domingo como primeiro dia da semana). Todos os dias de um ano novo anterior ao primeiro domingo são considerados na semana 0. 00, 01, …, 53
%W Número da semana do ano (segunda-feira como primeiro dia da semana). Todos os dias de um ano novo anterior à primeira segunda-feira são considerados na semana 0. 00, 01, …, 53
%c Representação apropriada de data e hora do local. Seg 30 de setembro 07:06:05 2013
%x Representação de data apropriada do local. 30/09/13
%X Representação de tempo apropriada do local. 07:06:05
%% Um caractere literal '%'. %

Exemplo 3: data e hora apropriadas do local

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

Quando você executa o programa, a saída será:

 Saída 1: Ter. 12 de junho 09:55:22 2018 Saída 2: 12/06/18 Saída 3: 09:55:22 

Formatar códigos %c, %xe %Xsão usados para a data e hora apropriada representação da localidade.

Também recomendamos que você verifique o strptime () do Python. O strptime()método cria um datetimeobjeto a partir de uma string.

Artigos interessantes...