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
Validare i dati di una colonna JSON in SQL Server
Integrare LLM alle nostre applicazioni in .NET con MCP
Agentic Workflows in GitHub
Esporre un server MCP esistente con Azure API Management
Abilitare .NET 10 su Azure App Service e Azure Functions
Ospitare n8n su Azure App Service
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Utilizzare il Null conditional assignment di C# 14
Planning & Specification Driven Development + GitHub Copilot
Evidenziare una porzione di testo in un pagina dopo una navigazione
Integrare il Docker Model Runner in un workflow di GitHub
Dallo sviluppo locale ad Azure con .NET Aspire


