Formatando datas
Formatos personalizados e padrão.
Formatando datas é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.
Por que formatar datas
Um DateTime bruto é exibido usando a cultura padrão da sua máquina, que pode não ser a que você deseja.
A formatação permite controlar exatamente como uma data aparece: 2024-03-05, 05/03/2024 ou Tuesday, March 5. O C# oferece cadeias de caracteres de formato padrão e personalizadas.
ToString com um padrão
A ferramenta mais flexível é ToString com uma cadeia de caracteres de formato personalizada. Cada letra representa uma parte da data.
Por exemplo, "yyyy-MM-dd" produz um formato de ano-mês-dia que pode ser ordenado facilmente e é simples de ler.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.ToString("yyyy-MM-dd"));
}
}Letras de ano, mês e dia
As letras de formato diferenciam maiúsculas de minúsculas. yyyy representa um ano de quatro dígitos, MM representa um mês de dois dígitos e dd representa um dia de dois dígitos.
Use M maiúsculo para o mês; m minúsculo significa minutos. Confundi-los é um erro comum entre iniciantes.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.ToString("dd/MM/yyyy"));
}
}Horas, minutos e segundos
Para a parte da hora, HH representa um relógio de 24 horas, mm representa minutos e ss representa segundos.
hh minúsculo usa o relógio de 12 horas e combina com tt para AM ou PM.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.ToString("HH:mm:ss"));
}
}Relógio de 12 horas com AM/PM
Para exibir um horário amigável de 12 horas, combine hh:mm com tt. O especificador tt exibe AM ou PM.
Assim, 14:30 se torna 02:30 PM, o que muitos leitores consideram mais fácil de entender do que um valor no formato de 24 horas.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.ToString("hh:mm tt"));
}
}Nomes de meses e dias
Você pode escrever os nomes por extenso em vez de usar números. MMMM fornece o nome completo do mês e MMM fornece uma forma abreviada.
Para os dias da semana, dddd representa o nome completo do dia e ddd representa a abreviação.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.ToString("dddd, MMMM dd"));
}
}Especificadores de formato padrão
Além dos padrões personalizados, o C# oferece códigos padrão curtos. "d" representa uma data abreviada, "D" representa uma data por extenso, "t" representa uma hora abreviada e "T" representa uma hora por extenso.
Eles seguem a cultura atual, portanto a aparência exata pode variar conforme a região.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.ToString("D"));
}
}Auxiliares curtos e completos
Também há métodos práticos. ToShortDateString e ToShortTimeString fornecem uma saída breve, enquanto ToLongDateString escreve a data por extenso.
Eles são rápidos, mas, para ter controle total, prefira uma cadeia de formato explícita.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.ToShortDateString());
}
}Formatação na interpolação
Dentro de uma cadeia interpolada, você pode colocar uma formatação depois de dois-pontos. Escrever {d:yyyy-MM-dd} formata o valor exatamente onde ele aparece.
Isso mantém seu código curto e legível ao criar mensagens.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine($"Date: {d:yyyy-MM-dd}");
}
}Saída independente da cultura
Para dados que você armazena ou envia entre sistemas, formate com CultureInfo.InvariantCulture para que o resultado nunca dependa das configurações regionais do usuário.
Isso evita surpresas em que o mesmo código produz uma saída diferente em outra máquina.
using System;
using System.Globalization;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
}
}O formato de ida e volta
O formato padrão "o" (de ida e volta) produz uma cadeia ISO 8601 que preserva todos os detalhes, incluindo as frações de segundo.
É a opção mais segura quando uma data precisar ser analisada novamente depois sem perder precisão.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.ToString("o"));
}
}Verificação rápida
Você quer um mês com dois dígitos dentro de uma cadeia de formato personalizada. Qual especificador está correto?
Recapitulação
Você pode formatar datas com ToString e padrões personalizados como yyyy, MM, dd, HH e mm.
Códigos padrão como "d" e "D" seguem a cultura, enquanto InvariantCulture e o formato "o" de ida e volta mantêm a saída estável entre sistemas.
Perguntas Frequentes
A aula “Formatando datas” é grátis?
Sim — o texto completo de “Formatando datas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.
O que vou aprender em “Formatando datas”?
Formatos personalizados e padrão. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Formatando datas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criando DateTimes
- Formatando datas
- TimeSpan e durações
- Aritmética de datas