Descrobrir formato da data

Eu também estou com este mesmo problema. Não sei como identificar se o que está vindo é dia ou mês…Alguém tem alguma idéia???

Abs

12/11/2009 é 12 de novembro de 2009 ou 11 de dezembro de 2009?

Depende do formato…

Eu estava seguindo o exemplo que me passou… depois resolvi fazer um teste com ER, mas acho que não vai funcionar, pois não tenho como responder a sua pergunta sem saber o formato da data e acho que não conseguirei descobrir pelas expressões… correto?

Sabe dizer pq o setLenient não lançou excessão quando testei “01/12/08” no formato “dd/MM/yyyy”?

Não sei se ajuda, mas o meu java é o 4, a minha solução precisa ser em java 4.

[]s

Em Java 1.4 é possível usar expressões regulares (ufa!). De fato, não tinha testado que mesmo com setLenient (false) o DateFormat aceita xx/xx/xx ou xx/xx/xxxx. Argh.

Bom, como há uma ambiguidade para várias datas - 11/12/2009 (11 de dezembro ou 12 de novembro?) nem sempre é possível determinar se o formato é dia/mês/ano ou mês/dia/ano, portanto é bom ver se você pode tratar isso de outra maneira.

De onde vem essas datas?, vc nao poderia padronizar estes dois formatos na origem.
Origem entenda onde é criada a data.

Outra coisa que é bem ambígua é você pegar um campo numérico e ver se o tal número representa um CPF ou CNPJ. Verifiquei que para 1/9 dos números, tanto os dígitos de verificação do CPF quanto os do CNPJ são compatíveis, então não é suficiente chutar que um número é um CPF se os dígitos de verificação do CPF baterem mas não os do CNPJ.