0Pricing
C# Academy · Lekcja

Tworzenie DateTime

Now, Today i określone daty.

Tworzenie DateTime to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

Poznaj DateTime

W języku C# struktura DateTime reprezentuje pojedynczy punkt w czasie, obejmujący zarówno datę, jak i porę dnia.

Znajduje się w przestrzeni nazw System, dlatego jest dostępna w każdym programie. Można jej używać do obsługi urodzin, znaczników czasu, terminów i wielu innych informacji.

Wartość DateTime przechowuje rok, miesiąc, dzień, godzinę, minutę, sekundę, a nawet ułamki sekundy.

DateTime.Now

Najprostszym sposobem uzyskania bieżącej daty i godziny jest użycie DateTime.Now. Odczytuje ona lokalny zegar komputera.

Każde wywołanie zwraca nowy obraz chwili. Ponieważ wynik zależy od momentu wykonania, wyświetlana wartość zmienia się za każdym razem.

using System;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        Console.WriteLine(now);
    }
}

Dzisiejsza data

Jeśli potrzebna jest tylko data, bez godziny, należy użyć DateTime.Today. Zwraca ona północ (00:00:00) bieżącego dnia.

Jest to przydatne podczas porównywania dni, ponieważ część określająca godzinę jest ustawiona na zero.

using System;

class Program
{
    static void Main()
    {
        DateTime today = DateTime.Today;
        Console.WriteLine(today.Year);
    }
}

Czas UTC

Komputery na całym świecie korzystają ze wspólnego czasu UTC (uniwersalnego czasu koordynowanego). Za pomocą DateTime.UtcNow można uzyskać bieżący czas UTC, niezależny od lokalnej strefy czasowej.

UTC to bezpieczny wybór w przypadku serwerów oraz przechowywania znaczników czasu odczytywanych w wielu regionach.

using System;

class Program
{
    static void Main()
    {
        DateTime utc = DateTime.UtcNow;
        Console.WriteLine(utc.Kind);
    }
}

Tworzenie określonej daty

Aby utworzyć dokładnie określoną datę, należy użyć konstruktora new DateTime(year, month, day). Część określająca godzinę domyślnie przyjmuje wartość północy.

Jest to idealne rozwiązanie w przypadku stałych dat, takich jak święto lub dzień uruchomienia. Ponieważ wartość jest stała, wynik jest w pełni przewidywalny.

using System;

class Program
{
    static void Main()
    {
        DateTime launch = new DateTime(2024, 1, 15);
        Console.WriteLine(launch.ToString("yyyy-MM-dd"));
    }
}

Dodawanie godziny

Dłuższy konstruktor pozwala ustawić godziny, minuty i sekundy: new DateTime(year, month, day, hour, minute, second).

Godziny są podawane w formacie 24-godzinnym, więc 14 oznacza godzinę 14:00. Pozwala to uzyskać pełny znacznik czasu z dokładnością do sekundy.

using System;

class Program
{
    static void Main()
    {
        DateTime meeting = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(meeting);
    }
}

Odczytywanie składowych

Po uzyskaniu wartości DateTime można odczytywać poszczególne składowe za pomocą właściwości: Year, Month, Day, Hour, Minute i Second.

Zwracają one zwykłe liczby całkowite, więc można je łatwo wyświetlać lub porównywać.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.Month);
        Console.WriteLine(d.Hour);
    }
}

Dzień tygodnia

Właściwość DayOfWeek informuje, na jaki dzień tygodnia przypada dana data. Zwraca wartość wyliczenia DayOfWeek, taką jak Monday lub Saturday.

Dostępna jest również właściwość DayOfYear, będąca liczbą całkowitą od 1 do 366.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 1, 1);
        Console.WriteLine(d.DayOfWeek);
    }
}

Wartości minimalne i maksymalne

Typ DateTime ma dwie specjalne stałe. DateTime.MinValue oznacza 1 stycznia roku 1, a DateTime.MaxValue — 31 grudnia roku 9999.

Są one przydatne jako wartości domyślne lub sygnalizujące, gdy nie ustawiono jeszcze rzeczywistej daty.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(DateTime.MinValue);
        Console.WriteLine(DateTime.MaxValue.Year);
    }
}

Parsowanie tekstu daty

Tekst wprowadzony przez użytkownika lub odczytany z pliku często zawiera datę. DateTime.Parse przekształca ciąg znaków w wartość DateTime.

Jeśli tekst nie przedstawia prawidłowej daty, Parse zgłasza błąd. W celu bezpieczniejszej obsługi można użyć DateTime.TryParse, która zwraca true lub false zamiast powodować awarię.

using System;

class Program
{
    static void Main()
    {
        DateTime d = DateTime.Parse("2024-07-04");
        Console.WriteLine(d.Year);
    }
}

Bezpieczne parsowanie za pomocą TryParse

DateTime.TryParse pozwala uniknąć wyjątków. Przyjmuje tekst i zmienną out, zwracając true w przypadku powodzenia.

Jest to zalecany sposób obsługi niepewnych danych wejściowych, takich jak wartość wpisana przez użytkownika.

using System;

class Program
{
    static void Main()
    {
        bool ok = DateTime.TryParse("not a date", out DateTime result);
        Console.WriteLine(ok);
    }
}

Szybki test

Potrzebują Państwo wyłącznie bieżącej daty, bez składnika określającego godzinę (czyli północy). Którego wywołania należy użyć?

Podsumowanie

W tej części poznali Państwo sposoby tworzenia wartości DateTime. Należy używać DateTime.Now do uzyskania lokalnego czasu, DateTime.Today do uzyskania dzisiejszej daty o północy, a DateTime.UtcNow do uzyskania czasu uniwersalnego.

Stałe daty można tworzyć za pomocą new DateTime(...), ich składowe odczytywać przez Year, Month i DayOfWeek, a tekst konwertować za pomocą Parse lub bezpieczniejszej metody TryParse.

Często zadawane pytania

Czy lekcja „Tworzenie DateTime” jest bezpłatna?

Tak — pełny tekst „Tworzenie DateTime” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Tworzenie DateTime”?

Now, Today i określone daty. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Tworzenie DateTime”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Tworzenie DateTime
  2. Formatowanie dat
  3. TimeSpan i czas trwania
  4. Operacje na datach
← Powrót do C# Academy