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
Path addizionali per gli asset in ASP.NET Core MVC
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Eseguire script pre e post esecuzione di un workflow di GitHub
Configurare automaticamente un webhook in Azure DevOps
Configuratione e utilizzo .NET Aspire CLI
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Gestione delle scrollbar dinamiche in HTML e CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Introduzione alle Container Queries
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
I più letti di oggi
- Speciale Forms Authentication di ASP.NET
- Versione 1.3 del .NET managed provider per MySQL
- Scatenare un postback da una confirm dialog di jQuery UI
- Creare un Route Constraint personalizzato per ASP.NET Web API 2
- Windows Server 2003: 300% in più in tre mesi
- ASP to ASP.NET Migration Roadshow in 11 città
- Visual Studio 2005 Web Application Projects


