Neste artigo vou mostrar como podemos formatar um objeto de data DateTime em diversos formatos usando o String.Format.
Quando trabalhamos com data, às vezes é necessário o uso de formatos
de data customizados, como por exemplo, uma data no formato mm/yyyy de
uma fatura, uma data de um chamado aberto sem os segundos, ou ainda uma
data por extenso para o rodapé de um relatório.
Para criar os formatos de data customizados, usamos algumas letras
específicas onde cada letra significa uma parte da data. y (ano), M
(mês), d (dia), h (hora 12), H (hora 24), m (minuto), s (segundo), f
(fração de segundo), F (fração de segundo, mostrando zeros após a
unidade inteira ex: 0.2000), t (P.M ou A.M) e z (time zone).
// Criando uma data 09/03/2008 16:05:07.123 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" ano String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar Março" mês String.Format("{0:d dd ddd dddd}", dt); // "9 09 Dom Domingo" dia String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hora 12/24 String.Format("{0:m mm}", dt); // "5 05" minuto String.Format("{0:s ss}", dt); // "7 07" segundo String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" fração de segundo String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" fração de segundo sem zero String.Format("{0:t tt}", dt); // "P PM" A.M. ou P.M. String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
Quando usamos o
separados de data "/" e o separador de tempo ”:" eles serão
substituídos pelo separador de data e de tempo definidos na cultura
atual com o DateTimeFormatInfo.DateSeparator e o
DateTimeFormatInfo.TimeSeparator.
// a cultura alemã substitui o separador de data "/" pelo "." String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - Português Brasileiro (pt-BR) String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - Alemã (de-DE)
Até a próxima!
Créditos: Pedro Henrique Barbosa Fernandes
0 comentários:
Postar um comentário