CMonth/CDow

Nomes do mes e dia da semana conforme idioma do sistema. Diferente de MesExtenso/DiaSemana (sempre PT-BR), CMonth/CDow respeitam SET LANGUAGE.

Assinatura: CMonth(dData) -> cMes // CDow(dData) -> cDia

Retorna: Character

Equivalentes localizaveis de MesExtenso e DiaSemana. A diferenca: CMonth/CDow respeitam SET LANGUAGE do sistema (portugues/ingles/espanhol), enquanto MesExtenso/DiaSemana sempre retornam em portugues.

Sintaxe

CMonth(dData)    --> cMes   ("Maio", "May", "Mayo"...)
CDow(dData)      --> cDia   ("Quinta-feira", "Thursday"...)

Exemplos

d := CtoD("13/05/2026")

// Com SET LANGUAGE PORTUGUESE
CMonth(d)        // "Maio"
CDow(d)          // "Quarta-feira" (13/05/2026 = quarta)

// Com SET LANGUAGE ENGLISH
SET LANGUAGE TO ENGLISH
CMonth(d)        // "May"
CDow(d)          // "Wednesday"

Diferenca CMonth vs MesExtenso

FuncaoIdioma
CMonth(d)Conforme SET LANGUAGE
MesExtenso(d)Sempre PT-BR
CDow(d)Conforme SET LANGUAGE
DiaSemana(d)Sempre PT-BR

Casos praticos

1. Relatorio em base multi-idioma

// Cabecalho do relatorio adapta automaticamente
oReport:SetTitle("Demonstrativo de " + CMonth(dDataBase) + " - " + ;
                 cValToChar(Year(dDataBase)))
// PT: "Demonstrativo de Maio - 2026"
// EN: "Demonstrative of May - 2026"

2. Compor data por extenso

Static Function DataExtenso(d)
    // "Quinta-feira, 13 de Maio de 2026"
Return CDow(d) + ", " + ;
       cValToChar(Day(d)) + " de " + ;
       CMonth(d) + " de " + ;
       cValToChar(Year(d))

3. Verificar mes em ingles (integracao internacional)

SET LANGUAGE TO ENGLISH

cMesIng := CMonth(dDataBase)
// Envia pra API que espera "May", "June" etc

Pegadinhas

Veja também