Criando DateTimes
Now, Today e datas específicas.
Criando DateTimes é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 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.
Conheça o DateTime
Em C#, a estrutura DateTime representa um único ponto no tempo, incluindo a data e a hora do dia.
Ela fica no espaço de nomes System, portanto está disponível em todos os programas. Você a usará para aniversários, carimbos de data e hora, prazos e muito mais.
Um valor DateTime contém um ano, mês, dia, hora, minuto, segundo e até frações de segundo.
DateTime.Now
A forma mais simples de obter a data e a hora atuais é DateTime.Now. Ele consulta o relógio local do seu computador.
Cada vez que você o chama, obtém uma nova fotografia daquele momento. Como o resultado depende de quando é executado, o valor exibido muda todas as vezes.
using System;
class Program
{
static void Main()
{
DateTime now = DateTime.Now;
Console.WriteLine(now);
}
}A data de hoje
Se você se importa apenas com a data, e não com a hora, use DateTime.Today. Ele retorna a meia-noite (00:00:00) do dia atual.
Isso é útil ao comparar dias, pois a parte da hora é definida como zero.
using System;
class Program
{
static void Main()
{
DateTime today = DateTime.Today;
Console.WriteLine(today.Year);
}
}Hora UTC
Computadores de todo o mundo compartilham o UTC (Tempo Universal Coordenado). Use DateTime.UtcNow para obter a hora atual em UTC, sem depender de nenhum fuso horário local.
O UTC é a escolha segura para servidores e para armazenar carimbos de data e hora que serão lidos por muitas regiões.
using System;
class Program
{
static void Main()
{
DateTime utc = DateTime.UtcNow;
Console.WriteLine(utc.Kind);
}
}Criando uma data específica
Para criar uma data exata, use o construtor new DateTime(year, month, day). A parte da hora assume meia-noite por padrão.
Isso é perfeito para datas fixas, como um feriado ou um dia de lançamento. Como o valor é fixo, o resultado é totalmente previsível.
using System;
class Program
{
static void Main()
{
DateTime launch = new DateTime(2024, 1, 15);
Console.WriteLine(launch.ToString("yyyy-MM-dd"));
}
}Adicionando a hora do dia
Um construtor mais longo permite definir horas, minutos e segundos: new DateTime(year, month, day, hour, minute, second).
As horas usam o relógio de 24 horas, portanto 14 significa 2 PM. Isso fornece um carimbo de data e hora completo, com precisão de um segundo.
using System;
class Program
{
static void Main()
{
DateTime meeting = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(meeting);
}
}Lendo as partes
Depois de obter um DateTime, você pode ler cada parte por meio de propriedades: Year, Month, Day, Hour, Minute e Second.
Essas propriedades retornam números inteiros simples, portanto são fáceis de exibir ou comparar.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.Month);
Console.WriteLine(d.Hour);
}
}Dia da semana
A propriedade DayOfWeek informa em qual dia da semana uma data cai. Ela retorna um valor da enumeração DayOfWeek, como Monday ou Saturday.
Também existe DayOfYear, um número inteiro de 1 a 366.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 1, 1);
Console.WriteLine(d.DayOfWeek);
}
}Valores mínimos e máximos
DateTime tem duas constantes especiais. DateTime.MinValue corresponde a 1º de janeiro do ano 1, e DateTime.MaxValue corresponde a 31 de dezembro do ano 9999.
Elas são úteis como valores padrão ou marcadores quando nenhuma data real foi definida ainda.
using System;
class Program
{
static void Main()
{
Console.WriteLine(DateTime.MinValue);
Console.WriteLine(DateTime.MaxValue.Year);
}
}Analisando uma cadeia de caracteres de data
O texto fornecido por um usuário ou armazenado em um arquivo geralmente contém uma data. DateTime.Parse transforma uma cadeia de caracteres em um DateTime.
Se o texto não for uma data válida, Parse gera um erro. Para um tratamento mais seguro, você pode usar DateTime.TryParse, que retorna verdadeiro ou falso em vez de fazer o programa falhar.
using System;
class Program
{
static void Main()
{
DateTime d = DateTime.Parse("2024-07-04");
Console.WriteLine(d.Year);
}
}Análise segura com TryParse
DateTime.TryParse evita exceções. Ele recebe o texto e uma variável out, retornando true quando obtém sucesso.
Esse padrão é a forma recomendada de lidar com uma entrada incerta, como um valor digitado por um usuário.
using System;
class Program
{
static void Main()
{
bool ok = DateTime.TryParse("not a date", out DateTime result);
Console.WriteLine(ok);
}
}Verificação rápida
Você quer apenas a data atual, sem o componente de hora (meia-noite). Qual chamada deve utilizar?
Recapitulação
Você aprendeu a criar valores DateTime. Use DateTime.Now para o momento local, DateTime.Today para a meia-noite de hoje e DateTime.UtcNow para a hora universal.
Crie datas fixas com new DateTime(...), leia as partes por meio de Year, Month e DayOfWeek, e converta texto com Parse ou com o mais seguro TryParse.
Perguntas Frequentes
A aula “Criando DateTimes” é grátis?
Sim — o texto completo de “Criando DateTimes” é 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 “Criando DateTimes”?
Now, Today e datas específicas. 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 1 de 4.
Quanto tempo leva a aula “Criando DateTimes”?
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