c datetime tutorial
Tento kurz vysvětlí vše o třídě C # DateTime. Naučíte se pracovat s formátem C # DateTime včetně metod časovače, stopek a režimu spánku:
Čas a datum jsou široce používány v několika softwarových projektech. Při psaní různých programů často pracujeme s objekty data a času.
Datum a čas má různé aplikace, jako je získávání aktuálního času a času, přidávání časového razítka k názvům proměnných / souborů, používání času a času k ověření atd. S tolika aplikacemi můžete snadno uhodnout, jak důležitý je objekt data a času pro programátory.
=> Podívejte se na podrobné návody C # pro školení zde
Co se naučíte:
- Jak inicializovat objekt C # DateTime?
- Vlastnosti objektu DateTime
- Co je formátování data?
- Jak získat aktuální datum a čas?
- C # časovač
- C # stopky
- Co je metoda spánku?
- Závěr
- Doporučené čtení
Jak inicializovat objekt C # DateTime?
DateTime je struktura ve jmenném prostoru systému. Pomáhá programátorům načítat informace o systémovém datu, čase, měsíci, roce nebo dokonce dni v týdnu. Umožňuje také uživatelům provádět operace s načtenými hodnotami data a času.
Podívejme se na jednoduchý program inicializací nového objektu DateTime. Když inicializujeme nový objekt, budeme muset předat určité parametry, abychom nastavili hodnotu data.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); Console.WriteLine(dt.ToString()); Console.ReadLine(); } } }
Zde jsme předali datum jako 05, měsíc jako 11 a rok jako 2018. Tím se nastaví instance datového času na námi poskytnutý parametr. Po inicializaci jsme vytiskli inicializovaný objekt do konzoly převedením do řetězce.
Výstupem výše uvedeného programu bude:
5. 11. 2018 0:00:00
Ve výše uvedeném výstupu vidíte, že protože jsme nezadali žádnou časovou hodnotu, proto objekt DateTime použil výchozí čas.
Vlastnosti objektu DateTime
Objekt DateTime nabízí řadu různých vlastností, které uživatelům pomáhají načítat data o objektu data a času.
Zde probereme několik důležitých vlastností data a času:
Den
Vlastnost Day načte nastavené datum objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int date = dt.Day;
Měsíc
Vlastnost Month načte nastavený měsíc objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int month = dt.Month;
Rok
Vlastnost Year načte nastavený rok objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int yr = dt.Year;
Den v týdnu
Vlastnost Den v týdnu načte celočíselnou hodnotu dne v týdnu z nastaveného objektu data a času. Vyžaduje také casting, aby přijal celočíselnou hodnotu. Neakceptuje žádný argument.
Syntax:
int dayWeek = (int)dt.DayOfWeek;
Den roku
Vlastnost Day of year načte den roku z nastavené hodnoty data v objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int dayYear = dt.DayOfYear;
Hodina
Vlastnost Day načte nastavené datum objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int hour = dt.Hour;
Minuta
Vlastnost Min načte hodnotu minuty od nastaveného data objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int min = dt.Minute;
Druhý
Druhá vlastnost načte druhou hodnotu z nastavené hodnoty objektu data a času. Vrací celočíselnou hodnotu a nepřijímá žádný argument.
Syntax:
int sec = dt.Second;
Podívejme se na jednoduchý program pro získání těchto hodnot.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); int date = dt.Day; int month = dt.Month; int yr = dt.Year; int dayWeek = (int)dt.DayOfWeek; int dayYear = dt.DayOfYear; int hour = dt.Hour; int min = dt.Minute; int sec = dt.Second; Console.WriteLine(date); Console.WriteLine(month); Console.WriteLine(yr); Console.WriteLine(dayWeek); Console.WriteLine(dayYear); Console.WriteLine(hour); Console.WriteLine(min); Console.WriteLine(sec); Console.ReadLine(); } } }
Výstupem výše uvedeného programu bude:
Datum: 5
Měsíc: 11
Rok: 2018
Den v týdnu: 1
Den v roce: 309
Hodina: 0
Minuta: 0
Za druhé: 0
Ve výše uvedeném programu jsme nastavili hodnotu data na 5/11/2018. Vidíme tedy, že systém načetl stejné hodnoty, ale když se podíváme na časovou část, uvidíme výchozí hodnotu 0. Je to proto, že jsme nenastavili žádnou časovou hodnotu a systém tedy automaticky přiřadil výchozí hodnoty na hodinu, minutu a sekundu.
Co je formátování data?
Různé aplikace a různí programátoři mohou pro své použití vyžadovat jiný formát data. Formátování data se tedy používá k formátování data pro řadu požadavků. DateTime také nabízí různé možnosti formátování, aby se vaše datum dostalo do požadovaného formátu.
Existují různé specifikátory určené k tomu, aby vám nabídly požadovaný formát data. Zde probereme několik populárních:
Krátký časový formát
Zobrazuje jednoduchý formát času s hodinovou a minutovou příponou dopoledne nebo odpoledne. V malém případě je označen „t“.
nejlepší firewall pro Windows 7 64 bit
Výstupní formát bude: 12:00 PM
Long Time Format
Zobrazuje rozšířený formát času s hodinovou, minutovou a sekundovou příponou AM nebo PM. Je označen velkými písmeny „T“.
Výstupní formát bude: 12:13:12 PM
Krátké rande
Zobrazuje jednoduchý formát data ve formátu MM / DD / RRRR. V malém případě je označen abecedou „d“.
Výstupní formát bude: 11/05/2018
Dlouhé rande
Zobrazuje rozšířený formát data se dnem, měsícem, dnem a rokem. Je označeno abecedou „D“ velkými písmeny.
Výstupní formát bude: pondělí 5. listopadu 2018
Den / Měsíc
Zobrazuje formát data s datem a měsícem. Neobsahuje podrobnosti o roce. Je označeno abecedou „M“ velkými písmeny.
Výstupní formát bude: 5. listopadu
Měsíc rok
Zobrazuje formát data s měsícem a rokem. Neobsahuje podrobnosti o datu. Je označeno abecedou „Y“ velkými písmeny.
Výstupní formát bude: listopad 2018
Pojďme se na ně podívat podrobně pomocí jednoduchého programu.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); //short time Console.WriteLine('Short time : {0}',dt.ToString('t')); //Long Time Console.WriteLine('Long time : {0}', dt.ToString('T')); //Short Date Console.WriteLine('Short Date : {0}', dt.ToString('d')); //Long Date Console.WriteLine('Long date : {0}', dt.ToString('D')); //Day / Month Console.WriteLine('Day with month : {0}', dt.ToString('M')); //Month / Year Console.WriteLine('Month with year : {0}', dt.ToString('Y')); Console.ReadLine(); } } }
Výstupem výše uvedeného programu bude:
Krátká doba: 12:00
Dlouhodobě: 12:00:00
Krátké datum: 5. 11. 2018
Dlouhé datum: pondělí 5. listopadu 2018
Den s měsícem: 5. listopadu
Měsíc s rokem: listopad 2018
Ve výše uvedeném programu jsme inicializovali hodnotu data v prvním řádku a poté jsme se pokusili použít stejnou hodnotu k získání různých formátů.
Jak získat aktuální datum a čas?
Objekt DateTime obsahuje řadu různých metod pro přístup k systémovému času. Metoda „Nyní“ vám umožňuje zjistit aktuální čas a datum systému a dokonce vám umožňuje pracovat s ním.
Syntaxe pro získání aktuálního času bude:
DateTime today = DateTime.Now;
Jakmile jsme definovali a uložili nyní do objektu DateTime. Můžeme jej snadno převést na řetězec, abychom získali aktuální datum a čas, nebo můžeme dokonce změnit formát data pomocí výše popsaných specifikátorů.
C # časovač
Časovač v C # umožňuje programátorům nastavit časový interval pro opakované provádění určité sady kódu nebo instrukce. Je to velmi užitečné v případě, že vaše specifikace aplikace vyžaduje, abyste po každém určitém intervalu provedli událost.
Například, během implementace aplikace pro zálohování dat.
Podívejme se na jednoduchý program pro implementaci časovače:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; using System.Timers; namespace ConsoleApp1 { class Program { private static Timer timer; static void Main(string() args) { timer = new System.Timers.Timer(); timer.Interval = 2000; timer.Elapsed += OnTimerEvent; timer.AutoReset = true; timer.Enabled = true; Console.WriteLine('The timer will start logging now... '); Console.ReadLine(); } private static void OnTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine('Time logged: {0}', e.SignalTime.ToString('T')); } } }
Pokud tedy spustíte tento program, bude pokračovat v zaznamenávání času každé 2 sekundy.
Ve výše uvedeném programu jsme nejprve inicializovali System.Timer. Poté nastavíme časový interval pro časovač. Zde jsme ponechali interval 2000 milisekund, můžete poskytnout libovolnou implementaci podle vašeho požadavku. Po uplynutí časového intervalu musíme spustit nějakou instrukci voláním nějaké metody.
Tady jsme každé dvě sekundy volali „OnTimerEvent“. Metoda bude akceptovat dva parametry, první je „objekt“ a další je „ElapsedEventArgs“.
Musíme také resetovat časovač pokaždé, když dosáhne intervalu, a také ho musíme povolit. Automatický reset i povolení časovače jsou proto označeny jako pravdivé. Potom napíšeme naši vlastní zprávu do konzoly a také přidáme řádek pro čtení, abychom se ujistili, že konzole zůstane otevřená až do zásahu uživatele.
C # stopky
Stopky se používají v C # k měření času. Je velmi užitečné při srovnávání výkonu kódu během optimalizace kódu. Lze jej použít k provádění nepřetržitého sledování výkonu kódu / aplikace a ke kontrole jakéhokoli snížení výkonu.
Stopky mohou přesně měřit čas, který uplynul během události, a jsou ideální volbou pro načasování jakékoli události v programu. Třída stopek je definována v oboru názvů System.Diagnostics a je třeba ji pro použití vytvořit instanci. Díky tomu je to docela užitečné pro aplikace, které vyžadují více vláken. Volání události lze provést pomocí metody thread.sleep.
Co je metoda spánku?
Metoda spánku se používá k pozastavení běžícího vlákna pro konkrétní časové období. Přijímá čas v milisekundách. Režim spánku je velmi užitečný v prostředí s více vlákny, kde chcete, aby se jedno vlákno zastavilo, aby se uvolnilo místo pro další vlákna k dokončení jejich provádění.
Syntaxe metody C # Sleep je:
System.Threading.Thread.Sleep(1000);
Nyní jsme se dozvěděli o spánku a jiné třídě stopek.
Vytvořme jednoduchý program stopek, abychom věděli věci jasněji.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Diagnostics; namespace ConsoleApp1 { class Program { static void Main(string() args) { Console.WriteLine('Press Enter to start the stopwatch'); Console.ReadLine(); // Create a new Stopwatch. var stopwatch = Stopwatch.StartNew(); Console.WriteLine('Stopwatch started...'); Console.WriteLine('Press Enter to stop the stopwatch and show time'); Console.ReadLine(); // Write result. Console.WriteLine('Time elapsed: {0}', stopwatch.Elapsed); Console.ReadLine(); } } }
Výstup
Výstupem výše uvedeného programu bude něco takového:
Poslední řádek ukazuje čas, který uplynul mezi začátkem a zastavením stopek.
Ve výše uvedeném programu jsme definovali proměnné stopky, do kterých jsme uložili instanci třídy Stopwatch. Použili jsme metodu StartNew (). Metoda startnew vytváří novou instanci pokaždé, když je volána, a proto je velmi užitečné, když chceme spustit stopky od začátku.
Vlastnost Elapsed stopek umožňuje uživateli zaznamenat časové rozpětí běhu. Nakonec jsme jednoduše vytiskli uplynulý čas do konzoly.
Závěr
Datum a čas, časovač, spánek a stopky se používají v programovacím jazyce C # pro uspokojení různých účelů. Objekt DateTime se používá ke shromažďování informací o datu a čase systému nebo k nastavení vlastního data a času pro použití pro konkrétní požadavek aplikace.
Časovač se naopak používá k nastavení časového intervalu mezi provedením určitých příkazů nebo událostí.
Režim spánku je součástí System.Threading a slouží k pozastavení nebo zastavení provádění po určitý časový interval. To umožňuje programátorům spustit jiné vlákno v prostředí s více vlákny, zatímco předchozí vlákno je pozastaveno.
Stopky lze použít k měření výkonu nebo času stráveného provedením určité události. Může nabídnout přesné měření uplynulého času nebo značek, které lze použít k udržení výkonu aplikace pod kontrolou.
=> Prozkoumejte celou řadu výcvikových kurzů C # zde
Doporučené čtení
- Výukový program Python DateTime s příklady
- Nabídka pracovních míst na volné noze pro odborníky na selen
- Výukový program Java Reflection s příklady
- 10 nejlepších softwaru pro hodiny volného času pro sledování času zaměstnanců
- Provádění testovacích případů pomocí ALM / QC (výukový program ALM QC pro 5. den v programu Micro Focus)
- Objektové úložiště v QTP - výuka # 22
- Funkce data a času v C ++ s příklady
- TimeShiftX vydán pro zjednodušení testování časového posunu