Python strftime()
Python strftime()
Neste artigo, você aprenderá a converter objetos de data, hora e data e hora em sua string equivalente (com a ajuda de exemplos)
Vídeo:datas e horas em Python
O
strftime()
retorna uma string representando data e hora usando o objeto date, time ou datetime. Exemplo 1:datetime para string usando strftime()
O programa abaixo converte um
datetime
objeto contendo data e hora atuais para 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:
year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31
Aqui, ano , dia , hora e date_time são strings, enquanto agora é um
datetime
objeto. Como strftime() funciona?
No programa acima,
%Y
, %m
, %d
etc. são códigos de formato. O strftime()
O método recebe um ou mais códigos de formato como argumento e retorna uma string formatada com base nele. - Importamos
datetime
classe dodatetime
módulo. É porque o objeto dedatetime
classe pode acessarstrftime()
método.
- O
datetime
objeto contendo data e hora atuais é armazenado em now variável.
- O
strftime()
pode ser usado para criar strings formatadas.
- A string que você passa para o
strftime()
pode conter mais de um código de formato.
Exemplo 2:criando 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)
Ao executar o programa, a saída será:
Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM
Formatar lista de códigos
A tabela abaixo mostra todos os códigos que você pode passar para o
strftime()
método. Diretiva | Significado | Exemplo |
%a | Nome abreviado do dia da semana. | Dom, 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 um decimal preenchido com zeros. | 01, 02, ..., 31 |
%-d | Dia do mês como número decimal. | 1, 2, ..., 30 |
%b | Nome do mês abreviado. | Janeiro, fevereiro, ..., dezembro |
%B | Nome completo do mês. | Janeiro, fevereiro, ... |
%m | Mês como um número decimal preenchido com zeros. | 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 zeros. | 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 zeros. | 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 zeros. | 01, 02, ..., 12 |
%-I | Hora (relógio de 12 horas) como um número decimal. | 1, 2, ... 12 |
%p | AM ou PM da localidade. | AM, PM |
%M | Minuto como um número decimal preenchido com zeros. | 00, 01, ..., 59 |
%-M | Minuto como um número decimal. | 0, 1, ..., 59 |
%S | Segundo como um número decimal preenchido com zeros. | 00, 01, ..., 59 |
%-S | Segundo 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 zeros. | 001, 002, ..., 366 |
%-j | Dia do ano como número decimal. | 1, 2, ..., 366 |
%U | Número da semana do ano (domingo como o primeiro dia da semana). Todos os dias de um novo ano que antecedem o primeiro domingo são considerados na semana 0. | 00, 01, ..., 53 |
%W | Número da semana do ano (segunda-feira como o primeiro dia da semana). Todos os dias de um novo ano que antecedem a primeira segunda-feira são considerados na semana 0. | 00, 01, ..., 53 |
%c | A representação de data e hora apropriada da localidade. | Seg 30 de setembro 07:06:05 2013 |
%x | Representação de data apropriada da localidade. | 30/09/13 |
%X | Representação de hora apropriada da localidade. | 07:06:05 |
%% | Um caractere '%' literal. | % |
Exemplo 3:data e hora apropriadas da localidade
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)
Ao executar o programa, a saída será:
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Códigos de formato
%c
, %x
e %X
são usados para a representação de data e hora apropriada da localidade. Também recomendamos que você verifique o Python strptime(). O
strptime()
método cria um datetime
objeto de uma string. python