Dal punto di vista della BCL, una delle novità più interessanti introdotte da .NET 6 è il tipo DateOnly. Questo è un tipo che permette di esprimere solamente una data senza l'orario come avviene per i tipi DateTime e DatetimeOffset. Il suo utilizzo è previsto in tutti quei casi dove l'orario non è utile ai fini della modellazione come date di nascita, anniversari, scadenza di documenti e molto altro ancora.
DateOnly supporta la maggior parte delle operazioni già supportate dai tipi esistenti come l'aggiunta e sottrazione di periodi temporali (giorni, mesi anni), il calcolo della differenza tra date, il parsing e la formattazione. A questi, si aggiungono anche metodi di conversione per creare un DateOnly partendo da un DateTime e viceversa.
Questi esempi sono visibili nel seguente codice.
var date1 = new DateOnly(2022, 1, 10);
//Proprietà
Console.WriteLine(date1.Year);
Console.WriteLine(date1.Month);
Console.WriteLine(date1.Day);
Console.WriteLine(date1.DayOfWeek);
// Manipolazione
var date2 = date.AddDays(10);
// differenza in giorni tra date
var days = date2.DayNumber - date1.DayNumber;
//Parsing
var date3 = DateOnly.ParseExact("2022/01/10", "yyyy/MM/dd");
// Crea un DateTime partendo da un DateOnly passando in input un orario
var dt = date3.ToDateTime(new TimeOnly(0, 0));
// Crea un DateOnly partendo daun DateTime
var today = DateOnly.FromDateTime(DateTime.Today);Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Gestire progetti .NET + React in .NET Aspire
Implementare il throttle in JavaScript
Ridurre il reflow cambiando il CSS
Come automatizzare il download dei report di billing da GitHub Enterprise
Introduzione a GitHub Copilot CLI
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Integrare OpenTelemetry direttamente in Azure Monitor
Self-healing degli unit test con Copilot in GitHub
Recuperare gli audit log in Azure DevOps
Raggruppare risorse in .NET Aspire
Effettuare un clone parziale di un repository di GitHub




