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.