Beräkna ett datum i framtiden eller förflutenheten

C#:
Beräkna ett datum i framtiden eller förflutenheten

Hur gör man:

using System;

class Program {
    static void Main() {
        DateTime originalDate = DateTime.Now;
        TimeSpan tenDays = TimeSpan.FromDays(10);
        DateTime futureDate = originalDate.Add(tenDays);
        DateTime pastDate = originalDate.Subtract(tenDays);
        
        Console.WriteLine($"Idag: {originalDate.ToShortDateString()}");
        Console.WriteLine($"Framtida datum: {futureDate.ToShortDateString()}");
        Console.WriteLine($"Förflutet datum: {pastDate.ToShortDateString()}");
    }
}

Exempel på utdata:

Idag: 08/04/2023
Framtida datum: 18/04/2023
Förflutet datum: 29/03/2023

Djupdykning:

Tidigare använde programmerare ofta egna algoritmer för att beräkna tid, vilket kunde leda till felaktigheter på grund av komplexiteten i tidshantering, t.ex. skottår och tidszoner. I C# förenklas detta genom DateTime och TimeSpan-klasserna.

Alternativ till detta är tredjepartsbibliotek som NodaTime som erbjuder mer robust tidshantering, särskilt i komplexa scenarier.

Implementationens nyckeldetaljer inkluderar hantering av skottsekunder och lokala versus universella tidszoner. C# hanterar detta automatiskt, vilket minskar risken för misstag.

Se även: