function Dta_Extenso($ANO){
#Cria os arrays com os nomes por extensso.
$unidades = array('um','dois','três','quatro','cinco','seis','sete','oito','nove');
$outros = array('onze','doze','treze','quatorze','quinze','dezesseis','dezessete','dezoito','dezenove');
$dezenas = array('dez','vinte','trinta','quarenta','cinquenta','sessenta','setenta','oitenta','noventa');
$centenas = array('cem','duzentos','trezentos','quatrocentos','quinhentos','seicentos','setecentos','oitocentos','novecentos');
$milhares = array('mil');
#Separa o ano em dd, mm, yyyy
$sep = str_split($ANO);
$tam = count($sep);
if ($tam == 4){
#Milhares
$m = $unidades[$sep[0] -1]." mil";
#Centenas
if ($sep[1] <> 0){
$c = " e ".$centenas[$sep[1] - 1];
} else {#se as centenas forem 0
$c = "";
}
#Dezenas
if ($sep[2] <> 0){
if ($sep[2].$sep[3] >= 20){
$d = " e ".$dezenas[$sep[2] - 1];
#Unidades
if ($sep[3] <> 0){
$u = " e ".$unidades[$sep[3] - 1];
} else {
$u = "";
}
} elseif ($sep[2].$sep[3] == 10){
$d = " e ".$dezenas[0];
$u = "";
} else {#se as unidades forem 0
$d = " e ".$outros[$sep[3] -1];
$u = "";
}
} else {#se as dezenas forem 0
$d = "";
#Unidades
if ($sep[3] <> 0){
$u = " e ".$unidades[$sep[3] - 1];
} else {
$u = "";
}
}
}
return $m.$c.$d.$u;
}
#Exemplo:
print(Dta_Extenso("15/08/2007"));
#Saída:
#Quinze de Agosto de dois mil e sete.
#Limitações:
#A data deve estar no formato "dd/mm/yyyy"
#Versões futuras:
#Identifica, dada a data, o dia da semana, utilizando para isso
#congruência módulo M.
domingo, 20 de janeiro de 2008
Assinar:
Postagens (Atom)
