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 datetime
objeto 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 datetime
objeto.
Como funciona o strftime ()?
No programa acima, %Y
, %m
, %d
etc, 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.
- Importamos
datetime
classe dodatetime
módulo. É porque o objeto dadatetime
classe pode acessar ostrftime()
método. - O
datetime
objeto que contém a data e a hora atuais é armazenado na variável now. - O
strftime()
método pode ser usado para criar strings formatadas. - 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
, %x
e %X
sã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 datetime
objeto a partir de uma string.