Introduzione al nuovo tipo DateOnly di .NET

di Stefano Mostarda, in .NET Framework,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi