Novidades do .NET 6: DateOnly e TimeOnly structs

Renato Groffe
3 min readJun 4, 2021

Na semana passada (dias 25 a 27/Maio, terça a quinta) aconteceu a edição 2021 do Microsoft Build, a conferência anual da Microsoft para Desenvolvedores. Assim como em anos anteriores tivemos diversos anúncios de melhorias na plataforma .NET, com o post a seguir no blog oficial abordando algumas dessas novidades:

Já publiquei também aqui no blog 4 artigos cobrindo novidades que vieram com esta edição do Build, na qual foi disponibilizado o Preview 4 do .NET 6:

Novidades do .NET 6: melhorias em LINQ - UnionBy e IntersectBy

Novidades do .NET 6: HTTP Logging no ASP.NET Core

Novidades do .NET 6: melhorias em LINQ - MaxBy e MinBy

Novidades do .NET 6: Minimal APIs em ASP.NET Core

E com o Preview 4 do .NET 6 foram disponibilizadas melhorias há muito aguardadas para a manipulação de datas e horas: os structs DateOnly e TimeOnly, ambos pertencentes ao namespace System.

Esses novos tipos permitem representar separadamente datas e horas, algo que não era possível com o tipo DateTime:

  • DateOnly certamente será útil na representação de datas importantes, aniversários e marcos em cronogramas (em situações nas quais a definição de um horário não se faz necessária);
  • TimeOnly simplificará em muito a representação agendamentos de horários (sem que haja a necessidade de associá-los a uma data), além de marcações envolvendo algum tipo de evento/alarme a ser disparado.

Na listagem a seguir podemos observar usos dos structs DateOnly e TimeOnly:

  • Através dos construtores destes tipos especificaremos uma data ou horário;
  • Valores correspondentes a datas e horários podem ser empregados em expressões condicionais.

Na imagem a seguir está o resultado da execução desta aplicação de exemplo:

Este projeto também foi disponibilizado no meu GitHub:

https://github.com/renatogroffe/DotNet6_Preview4-DateOnly-TimeOnly

E concluo este artigo com um convite…

Dia 28/06 (segunda) às 21:00 horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.

Ao longo desta live abordarei dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 5, ASP.NET Core, Azure Functions. Ao longo da apresentação será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria, bancos de dados e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Teremos também algumas novidades do .NET 6 demonstradas na prática!

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet-jun-2021

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker