Amiguinho
Que assim seja,
a regra é clara, sigamo-nas.
O incrivel é que este problema só me ocorreu quando passei a usar Harbour.
Só fica a pergunta?
Onde vou precisar calcular o 13º mes ou o 100º se uso o calendario Juliano que define desde antes de Cristo que só podemos usar de 1 a 12 meses e que dificilmente irei calcular em xBase o ano 10000, pois não viverei tanto(só se o arrebatamento acontecer e eu não for escolhido).
Isto não é um erro, mas é algo fora do comum, mesmo porque uso a anos as funçoes INIMES() e FIMMES() coletadas do livro de exemplos em Clipper para calculos de datas do Antonio Ramalho e a mesma não faz tratamento do ano via STR(...,4) e não me devolve erro.
No entanto neste outro exemplo não cabe a existencia dos 5 digitos para ano, retornando erro de data. Então o 5 elemento(digito) deveria ser posicionado a direita ou esquerda, pois não posso inserir 16/08/01965 ou 16/08/19650 e obter um resultado valido.
Código: Selecionar todos
function main()
dia := "16"
mes := "08"
ano := " 1965"
@ 20,20 say LEN( STR( YEAR( DATE() ) ) )
@ 22,20 say CTOD(dia+"/"+mes+"/"+ano)
@ 24,20 say CTOD(dia+"/"+mes+"/0"+alltrim(ano))
@ 26,20 say CTOD(dia+"/"+mes+"/"+alltrim(ano)+"0")
return .t.
Não questiono que exista um erro, questiono o porque.