Práce s časem

31. hodina PVA


Matěj Cajthaml — SSPŠ

©

Opakování

Jak můžeme zanechat aktuální průchod cyklu?
Co musíme udělat vždy, když používáme Streamy?
K čemu slouží klíčové slovo out?
Proč se nehodí File/Directory na velké soubory?
Jak skryjeme kurzor v konzoli?

Jak se v počítačí ukládá čas (datum)?

Ukládání

  • pomocí milisekund - např. 63776293428232
  • pomocí stringu - např. ISO8601: 20011221T08:30:52Z
  • další obdoby výše uvedených

Proč vůbec potřebujeme čas ukládat?

Třída DateTime

Třída DateTime

  • slouží k práci a ukládání data a času
  • není potřeba importovat knihovnu

Vytvoření instance

Aktuální datum a čas

Vlastnosti datumu a času

Vlastnosti datumu a času

Modifikace datumu a času

Základní formátování

Pokročilé formátování

https://docs.microsoft.com/cs-cz/dotnet/standard/base-types/custom-date-and-time-format-strings

Jak odečteme 35 dní od data?

Co je datový typ vlastnosti DayOfWeek?

Problémy práce s časem

Program se může spouštět v různém čase na různě nastavených počítačích.

Času počítače se tedy nedá věřit.

Práce s časovými pásmy, různými přesuny a předchodnými roky.

Používané knihovny pracují správně bez nutného zásahu programátora.

Metoda Console.ReadKey()

  • slouží k přečtení jednoho znaku z klavesnice
  • datový typ ConsoleKeyInfo
  • z něho lze zjistit zmáčknutou klávesu a modifikátory (CONTROL, ALT, SHIFT, ...)

Ukázka

Přestupný rok

Práce

Přečtěte od uživatele jedno číslo ze které zjistíte, zda je zadaný rok přestupný.

Počet měsíců v roce

Práce

Přečtěte od uživatele dvě čísla: rok a měsíc. Z těchto údajů vypište jedno číslo, které bude reprezentovat počet dní v daném měsíci v daném roce.

Kalendář

Domácí práce

https://ssps.cajthaml.eu/2-pva/work/32-kalendar

Shrnutí

Jak můžeme zformátovat DateTime? Jaké si pamatujete konstrukce?
Co se stane když budeme chtít číst text z neexistujícího souboru?
Jak můžeme modifikovat datum a čas v DateTime? Co pro tyto modifikace platí?
Jaké vlastnosti můžeme zjistit z instance DateTime?
Jak zapíšeme soubor do nadřazené složky?

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/