0Pricing
C# Academy · Aula

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

  1. Criando DateTimes
  2. Formatando datas
  3. TimeSpan e durações
  4. Aritmética de datas
← Voltar para C# Academy