Olá leitor(a), hoje eu vou falar um pouco sobre data (dia, mês e ano). No mundo da programação é complicado tratar de data. Já criei vários sistemas onde o formato da data não era um problema no computador local mas se tornou quando publiquei no servidor. 

Referência:
Linguagem C#
Ferramenta: Visual Studio
Tipo: web e desktop

Faz meses que estou querendo publicar esse artigo, só que não tive tempo para fazê-lo. Neste domingo então resolvi escrever.


Formato de data

No Brasil, o formato de data padrão é dia, mês e ano com barras, exemplo: 29/03/2014. No formato americano o padrão começa com mês, dia e depois ano; geralmente com traços e em alguns casos com barra.

Qual a melhor maneira de tratar isso?
No meu caso, resolvi tratar sempre a data em formato americano. Como o banco de dados está sempre usando o formato americano, decidi tratar os dados em formato americano e mostrar ao usuário o formato brasileiro. 
No trabalho decidimos usar o formato ano, mês e dia sem traço e sem barra. Isso mesmo, apenas o número: 20140329. O formato está dentro do banco de dados e no momento de mostrar para usuário, formatamos para deixar no padrão brasileiro. Dá um pouco mais de trabalho, mas funciona muito bem independente padrão ou linguagem.

Você pode também trabalhar com datetime marcando o ano, mês e dia. Assim você evita alguns erros.

Listagem 1:
DateTime d = new DateTime(“ano”, “mes”, “dia”);


Existem várias maneiras de formatar data usando C# ou JQuery. Se você pesquisar na Internet encontra fácil.

Usando globalização

Depois de formatar a data da melhor maneira pra você, em relatório ou contratos dinâmicos é necessário escrever por extenso o dia, mês ou ano. O exemplo que vou dar aqui é o que utilizei para a exibição do mês por extenso de acordo com a língua utilizada. Se for o português, aparece “Março”, se for inglês aparece “March”. 

Listagem 2.
lblMes.Text = System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(d.Month);

O exemplo descrito acima funciona da mesma forma para dia e ano. Basta mudar o último método de acordo com a necessidade. Note que o “d.Month” passado como parâmetro foi pego da primeira listagem citada anteriormente.

Bom, espero que tenha gostado de mais esse artigo. Espero poder te ajudar para um melhor desenvolvimento de software.