C#:
Calcolo di una data futura o passata
How to:
C# rende il calcolo delle date piuttosto diretto con DateTime
e TimeSpan
. Ecco come farlo:
using System;
public class DateCalculator
{
static void Main(string[] args)
{
DateTime oggi = DateTime.Now;
TimeSpan unaSettimana = new TimeSpan(7, 0, 0, 0);
DateTime futuro = oggi.AddDays(7);
DateTime passato = oggi.Subtract(unaSettimana);
Console.WriteLine("Data Futura: " + futuro.ToShortDateString());
Console.WriteLine("Data Passata: " + passato.ToShortDateString());
}
}
Output:
Data Futura: 20/04/2023
Data Passata: 06/04/2023
Deep Dive
C# ha introdotto DateTime
fin dalle prime versioni per soddisfare la necessità di manipolare date e orari. Prima, i programmatori erano costretti a fare calcoli manuali sui timestamp, che era complicato e soggetto a errori. DateTimeOffset
è un’alternativa che considera i fusi orari. Mentre TimeSpan
rappresenta una durata di tempo.
Per implementazioni più avanzate, ci sono librerie come NodaTime. NodaTime fornisce una gestione più robusta di date e orari, specialmente per quanto riguarda i fusi orari e il calendario internazionale.
See Also
- Microsoft Docs: DateTime Struct - https://docs.microsoft.com/it-it/dotnet/api/system.datetime?view=net-6.0
- Microsoft Docs: TimeSpan Struct - https://docs.microsoft.com/it-it/dotnet/api/system.timespan?view=net-6.0
- NodaTime Documentation - https://nodatime.org/3.0.x/userguide