Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dominando o strftime() do Python: Converter Datas e Horas em Strings Legíveis

Python strftime()

Neste artigo, você aprenderá a converter objetos date, time e datetime em suas representações de string equivalentes (com a ajuda de exemplos práticos).

Vídeo: Datas e Horas em Python

O método strftime() retorna uma string representando data e hora usando objetos date, time ou datetime.


Exemplo 1: datetime para string usando strftime()

O programa abaixo converte um objeto datetime contendo a data e hora atuais em diferentes formatos de string.

from datetime import datetime
now = datetime.now()  # data e hora atuais
year = now.strftime("%Y")
print("ano:", year)
month = now.strftime("%m")
print("mês:", month)
day = now.strftime("%d")
print("dia:", day)
time = now.strftime("%H:%M:%S")
print("hora:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("data e hora:", date_time)

Ao executar o programa, a saída será semelhante a:

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

Aqui, year, day, time e date_time são strings, enquanto now é um objeto datetime.


Como o strftime() funciona?

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

  1. Importamos a classe datetime do módulo datetime. Isso é necessário porque objetos da classe datetime podem acessar o método strftime().
  2. O objeto datetime contendo a data e hora atuais é armazenado na variável now.
  3. O método strftime() pode ser usado para criar strings formatadas.
  4. A string passada para o strftime() pode conter mais de um código de formato.

Exemplo 2: Criando string a partir de um timestamp

from datetime import datetime
timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("Objeto data/hora:", date_time)
d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("Saída 2:", d)
d = date_time.strftime("%d %b, %Y")
print("Saída 3:", d)
d = date_time.strftime("%d %B, %Y")
print("Saída 4:", d)
d = date_time.strftime("%I%p")
print("Saída 5:", d)

Ao executar o programa, a saída será:

Objeto data/hora: 2018-06-12 09:55:22
Saída 2: 06/12/2018, 09:55:22
Saída 3: 12 Jun, 2018
Saída 4: 12 June, 2018
Saída 5: 09AM

Lista de Códigos de Formato

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

DiretivaSignificadoExemplo
%aNome abreviado do dia da semana.Dom, Seg, ...
%ANome completo do dia da semana.Domingo, Segunda-feira, ...
%wDia da semana como número decimal.0, 1, ..., 6
%dDia do mês como decimal com zero à esquerda.01, 02, ..., 31
%-dDia do mês como número decimal (sem zero à esquerda).1, 2, ..., 30
%bNome abreviado do mês.Jan, Fev, ..., Dez
%BNome completo do mês.Janeiro, Fevereiro, ...
%mMês como número decimal com zero à esquerda.01, 02, ..., 12
%-mMês como número decimal (sem zero à esquerda).1, 2, ..., 12
%yAno sem século como decimal com zero à esquerda.00, 01, ..., 99
%-yAno sem século como número decimal.0, 1, ..., 99
%YAno com século como número decimal.2013, 2019, etc.
%HHora (relógio 24h) como decimal com zero à esquerda.00, 01, ..., 23
%-HHora (relógio 24h) como número decimal.0, 1, ..., 23
%IHora (relógio 12h) como decimal com zero à esquerda.01, 02, ..., 12
%-IHora (relógio 12h) como número decimal.1, 2, ..., 12
%pAM ou PM do locale.AM, PM
%MMinuto como decimal com zero à esquerda.00, 01, ..., 59
%-MMinuto como número decimal.0, 1, ..., 59
%SSegundo como decimal com zero à esquerda.00, 01, ..., 59
%-SSegundo como número decimal.0, 1, ..., 59
%fMicrossegundo como número decimal, preenchido com zeros à esquerda.000000 - 999999
%zDeslocamento UTC no formato +HHMM ou -HHMM.
%ZNome do fuso horário.
%jDia do ano como decimal com zero à esquerda.001, 002, ..., 366
%-jDia do ano como número decimal.1, 2, ..., 366
%UNúmero da semana do ano (Domingo como primeiro dia).00, 01, ..., 53
%WNúmero da semana do ano (Segunda-feira como primeiro dia).00, 01, ..., 53
%cRepresentação apropriada de data e hora do locale.Mon Sep 30 07:06:05 2013
%xRepresentação apropriada de data do locale.09/30/13
%XRepresentação apropriada de hora do locale.07:06:05
%%Caractere '%' literal.%

Exemplo 3: Data e hora apropriadas do locale

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

Ao executar o programa, a saída será:

Saída 1: Tue Jun 12 09:55:22 2018
Saída 2: 06/12/18
Saída 3: 09:55:22

Os códigos de formato %c, %x e %X são usados para representação apropriada de data e hora do locale.


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

python

  1. Palavras-chave e Identificadores em Python: Dominando Palavras Reservadas e Convenções de Nomenclatura
  2. Dominando Tipos de Dados em Python: Guia Prático
  3. Dominando Operadores em Python: Guia Completo
  4. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  5. Dominando Dicionários em Python: Criação, Manipulação e Técnicas Avançadas
  6. Dominando Iteradores em Python: Como Funcionam e Como Criar os Seus
  7. Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
  8. Expressões Regulares em Python (Módulo re) – Guia Prático
  9. Dominando datetime do Python: Guia Prático de Datas, Horários e Fusos Horários
  10. Dominando o Módulo time do Python: Funções, Structs e Exemplos Práticos