Build Brasil
Treinamentos FCamara
Formatando data com o comando DateTime.toString

Olá pessoal,

Nesse artigo vou demontrar como escrever uma variável do tipo DataTime de diversas formas:
abreviada, por extenso, só o dia, depois só o mês e por aí vai. Pra quem não sabe, eu comecei a programar no VB. E lá tem uma função chamada Format que se encarrega de fazer isso. Ela era usada assim:

MsgBox( Format( Now(), "dddd, yyyy mmmm dd"))

O retorno dessa função era uma caixa de mensagem com a mensagem “Quarta-Feira, 2009 Março 11”. Só que essa função não existe no C#. Para resolver isso, usamos o método .toString() das variáveis do tipo DateTime. Aqui vai um exemplo do equivalente em C# do exemplo em VB:

Console.WriteLine(DateTime.Now.ToString("dddd, yyyy MMMM dd"));

Apenas uma “grande” mudança entre as duas versões, a representação do mês. Agora ele é representado pela letra “M” maiúscula.
Existe dois tipos de formatação que podemos utilizar: padronizada ou custimizada.
A formatação padronizada consiste em uma formatação de data e hora já pronta.
O código abaixo mostra o resultado da utilização de todas as formatações padronizadas.
Para detalhes dos padrões, confira a area Referência no final deste artigo.

static void Main(string[] args) {

    DateTime data = DateTime.Now;

    // ARRAY COM TODOS AS FORMATAÇÕES PADRONIZADAS
    string[] padroes = { "d", "D", "f", "F", "g", "G", "m", "o",
                           "r", "s", "t", "T", "u", "U", "y" };

    for (int i = 0; i < padroes.Length; i++) {
        Console.WriteLine("Padrão \"{0}\", resulta em \"{1}\"",
        padroesIdea,
        data.ToString(padroesIdea));
    }

    Console.ReadKey();
}

01

A formatação customizada, é o usuário que determina quais informações deverão aparecer.
O código abaixo mostra a utilização de formatações customizadas sebdi usadas separadamente.
Para detalhes dos padrões, confira a area Referência no final deste artigo.

static void Main(string[] args) {

    DateTime data = DateTime.Now;

    // ARRAY COM TODOS AS FORMATAÇÕES PADRONIZADAS
    string[] padroes = { "d", "dd", "ddd", "dddd", 
                           "M", "MM", "MMM", "MMMM", 
                           "y", "yy", "yyy", "yyyy",
                           "HH","HHH","HHHH",
                           "mm"
                       };

    for (int i = 0; i < padroes.Length; i++) {
        Console.WriteLine("Padrão \"{0}\", resulta em \"{1}\"",
        padroesIdea,
        data.ToString(padroesIdea));
    }

    Console.ReadKey();
}

Esse código vai mostrar os seguintes resultados:

02

Bom, eu mostrei como utilizar as formatações padronizadas e as suas customizações. A formatação é realizada baseada na cultura em que ela é executada. Por exemplo, o resultado acima na cultura en-US, ficaria assim:

03

Pra finalizar vou mostrar outra forma de formatar a data usando quatro métodos de variáveis DateTime.

- ToShortDateString()
- ToShortTimeString()
- ToLongDateString()
- ToLongTimeString()

O código abaixo demonstra a utilização deles.

static void Main(string[] args) {

    DateTime data = DateTime.Now;

    Console.WriteLine("Comando: data.ToShortDateString(); Retorna: {0}",
data.ToShortDateString()); Console.WriteLine("Comando: data.ToShortTimeString(); Retorna: {0}",
data.ToShortTimeString()); Console.WriteLine("Comando: data.ToLongDateString(); Retorna: {0}", }
data.ToLongDateString()); Console.WriteLine("Comando: data.ToLongTimeString(); Retorna: {0}",
data.ToLongTimeString()); Console.ReadKey(); }

04

Conclusão

Bom, espero que tenha demonstrado as diversas forma de escrevar uma data com mais clareza possível.
Para saber mais detalhes, não esqueçam de visitar os link’s que estão em Referência.

Referência

MSDN - Standard Date and Time Format Strings
MSDN - Custom Date and Time Format Strings


Posted 1 Jun 2009 21:44 by Marcos Sabino Filho
Copyright© Build Brasil 2004 - 2009 - Todos os Direitos Reservados
Powered by Community Server (Commercial Edition), by Telligent Systems