Bem, isto já é uma curiosidade que tenho há tempos: As linguagens de programação tem funções para que seja possível validar uma data. Uma famosa, qual acredito que muitos de voces conhecem, é a função IsDate(expression) do Visual Basic. Bem, como vemos, dado uma expressão ela nos retorna um valor booleano indicando se a data é ou não válida.
Com funções deste tipo (independente da linguagem de programação utilizada), seria completamente absurdo criamos aquelas funções gigantescas, onde “splitamos” a string que contém a data, e analisamos os valores separadamente, por exemplo:
If [dia] > 30 Then …
If [mes] > 12 Then …
Agora a tal dúvida: será que lá em baixo (digo, baixo nível) quando chamamos os métodos de validação de data, como o IsDate() ou qualquer outra função de validação de datas, não é feito algo dessa forma para validar se uma data é ou não válida? Será que alguém consegue imaginar o que é feito internamente?