0Pricing
C# Academy · Aula

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

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