Desenvolvimento - C#
Formatando Datas com string.Format
Veja neste artigo como podemos formatar datas em diversos formatos com o método string.Format()
por Pedro Henrique Barbosa FernandesNeste 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)
Um abraço e até o próximo artigo.