Como funcionam os nomes dos dias da semana na prática
Os nomes dos dias da semana em português são: segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado e domingo. Simples assim. Mas se você já tentou trabalhar com datas em sistemas legados ou fazer integrações internacionais, sabe que isso não é tão simples quando coloca no papel. No Brasil, usamos o formato completo "segunda-feira" no discurso formal, mas no dia a dia todo mundo encurta. Segunda, terça, quarta, quinta, sexta. Sábado e domingo não têm abreviação comum porque já são curtos por natureza. Isso gera confusão em automações que esperam strings completas. Eu já perdi horas debuggando um script que recebia "Terça" de um formulário e o sistema esperava "terça-feira". A divergência de maiúsculas e a forma abreviada quebravam a comparação.
Origem dos nome dos dias da semana
A etimologia revela que nosso sistema tem duas camadas sobrepostas. A primeira vem do latim eclesiástico, com segunda-feira significando literalmente "segundo dia" — o primeiro seria o domingo, dia do Senhor. Esse arranjo reflete a tradição judaico-cristã de contar a semana a partir do domingo. Já sábado e domingo vêm do hebraico (shabbat) e do latim ecclesial (dies Domini), respectivamente. Os outros quatro dias, porém, seguem uma lógica diferente:they mantêm nomes romanos adaptados. Terça vem de Martis dies (dia de Marte), quarta de Mercurii, quinta de Jovis e sexta de Veneris. É basicamente o calendário romano paganizado pelo cristianismo, mas com a estrutura de contagem preservada.
Em outras línguas românicas isso fica ainda mais evidente. O espanhol mantém a mesma pattern, enquanto o italiano usa lunedì, martedì, mercoledì, giovedì, venerdì — todos derivados dos mesmos deuses. O português, nesse sentido, é conservador porque explicitamente adicionou o sufixo "-feira", que originalmente significava "festividade" ou "dia de festa". Uma sexta-feira era, etimologicamente, um dia santo.
Armazenamento e normalização em sistemas
Aqui é onde a coisa fica interessante. Se você está construindo algo que lida com datas em escala, nunca armazene o nome do dia como string. Use números. Segunda = 1, domingo = 7 (ou 0, dependendo do padrão ISO 8601 que adotou domingo como 7). Strings são instáveis: variação de capitalização, acentuação, pluralização, idiomas diferentes. Um int é imutável. O problema que eu encontrei foi com um relatório mensal que precisava agregar eventos por dia da semana em três idiomas (português, espanhol e inglês). O banco tinha datas brutais, mas a camada de apresentação pedia localização. A solução foi criar uma tabela de mapeamento centralizada com chave numérica, não textual. Isso reduziu o tempo de manutenção de configuração de 3 horas semanais para quase zero. A tabela de tradução ficou com 7 linhas e pronto.
Outro detalhe que muita gente esquece: o ISO 8601 define segunda como o primeiro dia da semana. O Brasil segue essa convenção oficialmente, mas sistemas americanos muitas vezes tratam domingo como início. Se seu software exporta dados para APIs que não deixam claro qual convenção estão usando, você vai ter off-by-one errors em relatórios. Sempre especifique o weekday como campo explícito, nunca deduza apenas pela data.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Quando os nomes realmente importam
Existem cenários legítimos em que você precisa dos nomes por extenso. Relatórios impressos, interfaces para usuários finais, comunicações jurídicas. Nesses casos, a normalização preventiva é essencial. Garanta que todos os inputs passem por um validador que padroniza lowercase, remove acentos quando necessário para chaveamento, e converte formas abreviadas para a forma completa antes de qualquer processamento. Uma pegadinha comum: "sábado" e "domingo" não têm o sufixo "-feira" em hipótese alguma. Sistemas genéricos que tentam adicionar o sufixo automaticamente para uniformizar vão corromper esses dois dias. Eu vi isso acontecer em um CRM que toutomatisou nomes e transformou "sábado" em "sábado-feira". O usuário final teve que corrigir manualmente meses de registros.
A lista completa e canônica, em ordem oficial, é: 1. segunda-feira
2. terça-feira
3. quarta-feira
4. quinta-feira
5. sexta-feira
6. sábado
7. domingo
Se alguém pedir para você listar os nome dos dias da semana em português, essa é a ordem que deve seguir. Qualquer variação que inverta sábado e domingo ou que inclua formas abreviadas na lista formal é tecnicamente imprecisa, ainda que socialmente aceitável em contextos informais.
Falhas comuns ao lidar com dias da semana
Vou listar o que costuma dar errado, baseado no que eu vi na prática. O primeiro erro é confiar em bibliotecas de internacionalização sem verificar a localidade padrão. O PHP, por exemplo, retorna "Monday" para en_US e "Segunda-feira" para pt_BR, mas em configurações mal ajustadas pode retornar a forma curta "Mon" ou "Seg". Se seu código assume o formato completo, ele quebra silenciosamente. O segundo erro é tratar dias Feriados como se tivessem nomes próprios. "Sexta-feira santa" não é um nome de dia da semana. É uma data comemorativa que acontece numa sexta. Não existe "sábado de aleluia" como categoria de weekday. Confundir com dia da semana gera problemas sérios em calendários e agendamentos.
O terceiro, e mais traiçoeiro, é a questão do ano bissexto combinado com cálculos de weekday. O algoritmo de Zeller ou qualquer variação do Tomohiko Sakamoto funciona perfeitamente, mas quando você implementa do zero e esquece que 1900 não foi bissex-to (embora 2000 tenha sido), os resultados começam a desviar a partir de certas datas no século XIX. Use uma biblioteca testada. Não reinvente. Resumindo o que importa: use números internamente, normalise strings na entrada, trate sábado e domingo como casos especiais, e nunca misture feriados com weekdays. O resto é cosmética de apresentação.