Como verificar uma data válida com C#?

Olá pessoal meu nome é Mauricio Junior e hoje eu vou falar de um sistema de agendamento de clientes que eu estava criando para web e a pessoa normalmente atende pessoas em Português, Inglês e Espanhol.

O sistema de agendamento de clientes precisa ter uma interface amigável para todos, responsivo para funcionar pelo computador, web, tablet e smartphone. Até ai tudo bem, criei uma API que recebe os dados e comunica com o banco, mas a interface do sistema precisava ser bom.

Com CSS bootstrap e Razor eu consegui criar o sistema de agendamento bem direto e simples. Em alguns momentos o cliente acessava com o celular em Português e outro em Inglês, dessa forma o formato da data ficava diferente naquele momento.

No formato do Brasil ficava: 13 de Agosto de 2022

No formato Americano ficava: Agosto, 13 2022

A parte do usuário é normal mudar, quero dizer, a parte layout. O que importa é que dentro do sistema ou no backend os dados precisam estar no formato correto e normalmente está no formato que eu preciso.

Para verificar a data

Para verificar a data, foi necessário usar um NuGet package chamado CheckData ou CheckData NET 6 para verificar se a data é válida.

Exemplo

//instance
IMain main = new Main();

//check date
var result = main.IsDate("32/10/2022");

//result (true or false)
Console.WriteLine($"Date: {result}");

//Result
//Date: false

Nesse caso, n√£o existe dia 32 de Outubro.

Esse NuGet utilizado aceita qualquer formato, com barra (/) ou com tr√°co (-).

Veja:

//instance
IMain main = new Main();

//check date
var result = main.IsDate("30-10-2022");

//result (true or false)
Console.WriteLine($"Date: {result}");

//Result
//Date: true

--------------
//check date
result = main.IsDate("10/30/2022");

//result (true or false)
Console.WriteLine($"Date: {result}");

//Result
//Date: true

Lembro que eu tenho cursos de C# ensinando a fazer software, aplicativo, website, iOS app, backend API e muito mais aqui na plataforma ecode10.academy.

Espero que tenha ajudado e qualquer d√ļvida pode entrar em contato comigo pelo site www.mauriciojunior.net.