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
Sfruttare al massimo i topic space di Event Grid MQTT
Le novità di Angular: i miglioramenti alla CLI
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Potenziare Azure AI Search con la ricerca vettoriale
.NET Conference Italia 2023
Utilizzare un service principal per accedere a Azure Container Registry
Assegnare un valore di default a un parametro di una lambda in C#
Eseguire le GitHub Actions offline
Utilizzare il trigger SQL con le Azure Function
Creare alias per tipi generici e tuple in C#
Gestire liste di tipi semplici con Entity Framework Core
Disabilitare automaticamente un workflow di GitHub