Convertendo uma data em uma string

C#:
Convertendo uma data em uma string

How to:

O C# oferece o método ToString() para formatar e converter datas. Vamos a alguns exemplos:

DateTime agora = DateTime.Now;

// Padrão de data e hora
string padrao = agora.ToString();
Console.WriteLine(padrao); // Saída: "04/04/2023 14:23:31"

// Somente data
string soData = agora.ToString("d");
Console.WriteLine(soData); // Saída: "04/04/2023"

// Formato personalizado
string formatoPersonalizado = agora.ToString("dd-MM-yyyy HH:mm");
Console.WriteLine(formatoPersonalizado); // Saída: "04-04-2023 14:23"

Deep Dive

A conversão de datas em strings remonta aos primeiros dias da programação. No contexto de C#, a classe DateTime foi introduzida em .NET Framework 1.0 para representar instantes de tempo.

Alternativamente, podemos usar a classe String.Format ou interpolação de string para maior legibilidade:

DateTime agora = DateTime.Now;
string formatado = String.Format("A data e hora atual é: {0:dd/MM/yyyy HH:mm}", agora);
Console.WriteLine(formatado);
// Saída: A data e hora atual é: 04/04/2023 14:23

ou

DateTime agora = DateTime.Now;
string interpolar = $"Hoje é {agora:dd/MM/yyyy}";
Console.WriteLine(interpolar);
// Saída: Hoje é 04/04/2023

No que diz respeito à implementação, o método ToString pode ser sobrecarregado para aceitar um format e opcionalmente um IFormatProvider, como CultureInfo, para lidar com formatação sensível ao idioma.

See Also