Extraindo nome do dia da semana de uma data. (Python)

Neste post mostro algumas formas de se extrair o nome do dia da semana de uma data e uma pegadinha que pode acontecer entre a galera do front-end e do back-end com estes procedimentos.

Antes de começar, para todos as abordagens, vamos considerar que os comandos abaixo tenham sido executados:

 

Agora vamos partir para a abordagem mais simples:

Utilizando formatação de datas

Para esta abordagem, vamos utilizar a função strftime, que converte o objeto de data em uma string formatada.

OU:

 

O format %a ou %A vai exibir o nome da semana ‘localizado’, ou seja, a forma como ele estará escrito vai depender do idioma do sistema, sendo que o formato %a (letra a minúscula) vai exibir o nome da semana abreviado, enquanto que o formato %A (letra A escrita em maiúsculo) vai exibir o nome da semana completo, mas também depende do idioma do sistema.

Veja o post sobre como converter strings em datetime para mais informações sobre o método e mais dicas sobre como formatar uma data.

 

Utilizando função weekday

Esta função vai retornar um número entre 0 (zero) e 6, sendo que zero é igual a Segunda-feira e 6 igual a domingo. Com este dado, você pode processa-lo como preferir e exibir o resultado da forma que se adequar a sua necessidade.

No código acima, criei um vetor com os dias da semana (em ordem) e utilizei a função weekday na nossa variável que contem a data. Ela retornou 0 (zero), pois estamos na segunda-feira. O próximo passo foi acessar esta posição no vetor e pegar o dia da semana correspondente.

 

Atenção! Com esta função, o Python considera como primeiro dia da semana (weekday = zero) a segunda-feira, mas para o Javascript, a semana começa no domingo.

 

 

Utilizando um pouco de cada abordagem e fugindo da pegadinha

Existe um formato do strftime que resolve a ‘pegadinha’ entre Javascript e Python, mas você que já leu o artigo sobre como converter strings em datetime, você já sabia disso. 😉

Vamos ao exemplo:

O que fizemos acima foi:

  1. Ajustamos as posições do vetor com o nome dos dias semana, de forma que o primeiro dia seja Domingo;
  2. Recuperamos a string com o numero da semana, utilizando a função strftime com o formato %w e convertemos o resultado em um integer. Este formato retorna o número do dia da semana (em uma string) e considera o primeiro dia da semana como Domingo;
  3. Recuperamos o nome do dia da semana do vetor ajustado.

 

Espero ter ajudado!

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Dev, Python and tagged , , , .