V C# existuje několik datových typů pro práci s datem a časem: - **DateTime:** Reprezentuje datum a čas s přesností na milisekundy. - **TimeSpan:** Reprezentuje časový interval. - **DateTimeOffset:** Reprezentuje datum a čas s ohledem na časové pásmo. ### **Vlastnosti a metody** Datové typy pro práci s časem nabízí různé vlastnosti a metody: - **DateTime.Now:** Vrátí aktuální datum a čas. - **DateTime.AddDays(int):** Přidá zadaný počet dnů k datu a času. - **TimeSpan.Subtract(TimeSpan):** Odečte zadaný časový interval od jiného. - **DateTimeOffset.ToLocalTime():** Převádí datum a čas na místní časové pásmo. ### **Čekací smyčka** Čekací smyčka se používá k opakování kódu po zadaný časový interval. **Příklad:** ```csharp var startTime = DateTime.Now; while (DateTime.Now - startTime < TimeSpan.FromSeconds(5)) { // kód, který se bude opakovat po dobu 5 sekund } ``` [https://lh7-us.googleusercontent.com/A8G69vIPJ8WhvMxibp4fbuZrnGAP6WF3LL2FoBkWL6mgk0Bx6iHts-_K-3UCcXusJy-4-O4fwbLnJ-7we34KrvVCb9O6Dhiti-RvTMO5-A3C26cIljkIzs3cqte4mqrN81p224Bi6--CegLMVOHXgbw](https://lh7-us.googleusercontent.com/A8G69vIPJ8WhvMxibp4fbuZrnGAP6WF3LL2FoBkWL6mgk0Bx6iHts-_K-3UCcXusJy-4-O4fwbLnJ-7we34KrvVCb9O6Dhiti-RvTMO5-A3C26cIljkIzs3cqte4mqrN81p224Bi6--CegLMVOHXgbw) ```csharp int pocet = 0; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (!timer1.Enabled) { timer1.Enabled = true; button1.Text = "Stop"; } else { timer1.Enabled = false; button1.Text = "Start"; } } private void timer1_Tick(object sender, EventArgs e) { pocet++; label1.Text = "Počet je: " + pocet / 10 + "." + pocet % 10; } ``` **Tipy:** - Používejte vhodné datové typy pro práci s datem a časem. - Pečlivě testujte operace s datem a časem. - Čekací smyčky používejte s rozvahou, aby se program nezacyklil. - Existují i jiné metody pro práci s časem, například asynchronní operace a časovače. Dobré pochopení práce s časem vám pomůže psát programy, které správně pracují s datem a časem a reagují na události v daný čas.