Programování C#
| Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
| Adresa školky | Kostelní 134, 411 08 Štětí | ||
| IČ | 46773509 | ||
| Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
| Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
| Označení vzdělávacího materiálu | |||
| Název tématické oblasti (sady) | Programování | ||
| Název materiálu | Datum a čas | ||
| Anotace | |||
| Autor | Jazyk | ||
| Očekávaný výstup | |||
| Klíčová slova | |||
| Druh výukového zdroje | Věková skupina žáků | ||
| Typ interakce | Ročník | ||
| Speciální vzdělávací potřeby | žádné | ||
| Zhotoveno, (datum/období) | Celková velikost | ||
Obsah
Statická třída DateTime
Pro práci s datem a časem lze použít třídu DateTime.
Jde o statickou třídu, ze které lze tvořit i instance.
Proto se můžete setkat s operátorem new, obdobně jako u třídy Random.
Dnes
Dnešní datum můžeme získat z vlastnosti Today třídy DateTime.
Console.WriteLine(DateTime.Today);
Pokud bychom chtěli uložit dnešní datum do proměnné, musí být typu DateTime, vizte příklad:
DateTime dnes = DateTime.Today; Console.WriteLine(dnes);
Nyní
Naprosto stejně se chová i vlastnost Now, s tím rozdílem, že součástí data je i čas, který odpovídá času, kdy byla vlastnost použita.
DateTime nyni = DateTime.Now; Console.WriteLine(nyni);
Objekt DateTime
Jaký že je rozdíl mezi statickou třídou a objektem?
Máme-li objekt typu DateTime, tak je to vlastně již otisk statické třídy s konkrétním časem a datem uložený někde v paměti.
Jakmile si tedy necháme vrátit čas vlastností DateTime.Now, získáme objekt, který obsahoval aktuální čas v době jeho vzniku.
Všimněte si, že objekt typu DateTime již nemá vlastnost Now.

A objekt jsme vytvořili pouze tím, že jsme do proměnné uložili aktuální čas.
Metody objektu DateTime
Objekt DateTime obsahuje metody pro manipulaci s datem a časem:
DateTime.AddHours()DateTime.AddDays()DateTime.AddMonths()DateTime.AddYears()...
Při zavolání metody se vrátí nový objekt DateTime.
Následující příklad uloží aktuální čas do proměnné nyni.
Potom do proměnné zahodinu uloží nový čas, kde bude o hodinu více.
DateTime nyni = DateTime.Now; DateTime zahodinu = nyni.AddHours(1); Console.WriteLine(nyni); Console.WriteLine(zahodinu);
Vlastnosti
Vlastnost objektu je vlastně "pouze" hodnota, kterou lze číst, případně měnit.
Vlastnosti objektu musí být určitého datového typu (stejně jako proměnné).
Některé vlastnosti objektu DateTime:
DateTime.AddDayDateTime.AddMonthDateTime.AddYearDateTime.DayOfYear...
Vlastní metody
Vytvořte metody Zitra() a Vcera(), které vrátí zítřejší, resp. včerejší datum.
Metody nebudou mít vstupní parametr (není potřeba).
Návratová hodnota bude DateTime.
Jakmile metody vytvoříte, měl by fungovat následující kód v metodě Main().
Console.WriteLine("Včera: " + Vcera()); Console.WriteLine("Dnes : " + DateTime.Now); Console.WriteLine("Zítra: " + Zitra());

