Obliczanie daty w przyszłości lub przeszłości

C#:
Obliczanie daty w przyszłości lub przeszłości

How to:

C# ma mocne wsparcie dla operacji na datach. Spójrz na poniższe przykłady.

using System;

class DateExample
{
    static void Main()
    {
        DateTime today = DateTime.Now;
        DateTime nextWeek = today.AddDays(7);
        DateTime lastMonth = today.AddMonths(-1);
        
        Console.WriteLine("Dzisiaj: " + today.ToShortDateString());
        Console.WriteLine("Za tydzień będzie: " + nextWeek.ToShortDateString());
        Console.WriteLine("Miesiąc temu było: " + lastMonth.ToShortDateString());
    }
}

Sample output:

Dzisiaj: 12.03.2023
Za tydzień będzie: 19.03.2023
Miesiąc temu było: 12.02.2023

Deep Dive

Zanim dołączono klasę DateTime do .NET, obliczenia na datach wymagały ręcznego zarządzania czasem – co było skomplikowane i narażone na błędy. DateTime uprościło zadania i jest częścią .NET od samego początku.

Inne opcje to TimeSpan dla różnic czasowych, a DateTimeOffset dla operacji świadomych strefy czasowej. We współczesnym C#, można także używać biblioteki NodaTime dla bardziej zaawansowanych scenariuszy związanych z czasem.

Szczegóły implementacji? Klasa DateTime reprezentuje punkt w czasie, dokładność do 100-nanosekund, a DateTimeKind rozróżnia czas uniwersalny (UTC) od lokalnego. Pamiętaj też o sprawdzeniu ustawień regionalnych – formatowanie daty może się różnić.

See Also