c datetime tutorial
V tomto výučbe sa dozviete všetko o triede C # DateTime. Naučíte sa pracovať s formátom C # DateTime vrátane metód časovača, stopiek a režimu spánku:
Čas a dátum sú často používané v niekoľkých softvérových projektoch. Počas písania rôznych programov sa často zaoberáme objektmi dátumu a času.
Dátum a čas má rôzne aplikácie, ako napríklad zisťovanie aktuálneho času a času, pridávanie časovej pečiatky k názvom premenných / súborov, použitie času a času na overenie atď. Pri toľkých aplikáciách môžete ľahko odhadnúť, aký dôležitý je objekt času a času pre programátorov.
=> Vyskúšajte tu podrobné výukové programy C #
Čo sa dozviete:
- Ako inicializovať objekt C # DateTime?
- Vlastnosti objektu DateTime
- Čo je formátovanie dátumu?
- Ako získať aktuálny dátum a čas?
- C # časovač
- C # stopky
- Čo je metóda spánku?
- Záver
- Odporúčané čítanie
Ako inicializovať objekt C # DateTime?
DateTime je štruktúra v mennom priestore systému. Pomáha programátorom načítať informácie o dátume, čase, mesiaci, roku alebo dokonca dni v týždni. Umožňuje tiež používateľom vykonávať operácie so získanými hodnotami dátumu a času.
Pozrime sa na jednoduchý program inicializáciou nového objektu DateTime. Keď inicializujeme nový objekt, budeme musieť zadať určité parametre, aby sme nastavili hodnotu dátumu.
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(); } } }
Tu sme odovzdali dátum ako 05, mesiac ako 11 a rok ako rok 2018. Týmto nastavíme inštanciu času údajov na nami poskytnutý parameter. Po inicializácii sme inicializovaný objekt vytlačili na konzolu tak, že ho prevedieme na reťazec.
Výstupom vyššie uvedeného programu bude:
5. 11. 2018 0:00:00 hod
Vo vyššie uvedenom výstupe môžete vidieť, že keďže sme neposkytli žiadnu časovú hodnotu, objekt DateTime preto použil predvolený čas.
Vlastnosti objektu DateTime
Objekt DateTime ponúka množstvo rôznych vlastností, ktoré používateľom pomáhajú načítať údaje o objekte dátumu a času.
Tu si povieme niekoľko dôležitých vlastností dátumu a času:
Deň
Vlastnosť Day načíta nastavený dátum objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int date = dt.Day;
Mesiac
Vlastnosť Month získava nastavený mesiac objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int month = dt.Month;
Rok
Vlastnosť Year načíta nastavený rok objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int yr = dt.Year;
Deň v týždni
Vlastnosť Deň v týždni načíta celočíselnú hodnotu dňa v týždni z nastaveného objektu dátumu a času. Vyžaduje tiež prenášanie, aby sa akceptovala celočíselná hodnota. Neakceptuje žiadny argument.
Syntax:
int dayWeek = (int)dt.DayOfWeek;
Deň v roku
Vlastnosť Deň roka načíta deň v roku z nastavenej hodnoty dátumu v objekte dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int dayYear = dt.DayOfYear;
Hodina
Vlastnosť Day načíta nastavený dátum objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int hour = dt.Hour;
Minúta
Vlastnosť Min získava hodnotu minúty od nastaveného dátumu objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int min = dt.Minute;
Druhý
Druhá vlastnosť načíta druhú hodnotu z nastavenej hodnoty objektu dátumu a času. Vráti celočíselnú hodnotu a neprijme žiadny argument.
Syntax:
int sec = dt.Second;
Pozrime sa na jednoduchý program na načítanie týchto hodnôt.
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ýstupom vyššie uvedeného programu bude:
Dátum: 5
Mesiac: 11
Rok: 2018
Deň v týždni: 1
Deň v roku: 309
Hodina: 0
Minúta: 0
Druhá: 0
Vo vyššie uvedenom programe sme nastavili hodnotu dátumu na 5/11/2018. Vidíme teda, že systém načítal rovnaké hodnoty, ale keď sa pozrieme na časovú časť, uvidíme predvolenú hodnotu 0. Je to preto, že sme nenastavili žiadnu časovú hodnotu, a tak systém automaticky priradil predvolené hodnoty. na hodinu, minútu a sekundu.
Čo je formátovanie dátumu?
Rôzne aplikácie a rôzni programátori môžu vyžadovať iný formát dátumu pre svoje použitie. Formátovanie dátumu sa teda používa na formátovanie dátumu pre množstvo požiadaviek. DateTime tiež ponúka rôzne možnosti formátovania, aby ste dostali svoj dátum v požadovanom formáte.
Existujú rôzne špecifikátory určené na to, aby vám ponúkli požadovaný formát dátumu. Tu si povieme niekoľko populárnych:
Krátky časový formát
Zobrazuje jednoduchý formát času s hodinami a minútami doplnenými o AM alebo PM. V malom prípade je označený „t“.
ako si vytvoriť svoj vlastný firewall
Výstupný formát bude: 12:00 PM
Long Time Format
Zobrazuje predĺžený formát času s hodinami, minútami a sekundami s príponou AM alebo PM. Je označený veľkým písmenom „T“.
Výstupný formát bude: 12:13:12 PM
Krátke rande
Zobrazuje jednoduchý formát dátumu vo formáte MM / DD / RRRR. V malom prípade je označený abecedou „d“.
Výstupný formát bude: 5. 5. 2018
Dlhé rande
Zobrazuje rozšírený formát dátumu s dňom, mesiacom, dňom a rokom. Je označená abecedou „D“ vo veľkých písmenách.
Výstupný formát bude: pondelok 5. novembra 2018
Deň / mesiac
Zobrazuje formát dátumu s dátumom a mesiacom. Neobsahuje podrobnosti o roku. Je označená abecedou „M“ veľkými písmenami.
Výstupný formát bude: 5. novembra
Mesiac rok
Zobrazuje formát dátumu s mesiacom a rokom. Neobsahuje podrobnosti o dátume. Je označená abecedou „Y“ veľkými písmenami.
Výstupný formát bude: november 2018
Pozrime sa na ne podrobne pomocou 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ýstupom vyššie uvedeného programu bude:
Krátky čas: 0:00
Dlhodobo: 12:00:00 hod
Krátky dátum: 5. 11. 2018
Dlhý termín: pondelok 5. novembra 2018
Deň s mesiacom: 5. novembra
Mesiac s rokom: november 2018
Vo vyššie uvedenom programe sme v prvom riadku inicializovali hodnotu dátumu a potom sme sa pokúsili použiť rovnakú hodnotu na získanie rôznych formátov.
Ako získať aktuálny dátum a čas?
Objekt DateTime obsahuje množstvo rôznych metód prístupu k systémovému času. Metóda „Teraz“ vám umožňuje zistiť aktuálny čas a dátum systému a dokonca vám umožňuje pracovať s ním.
Syntax na získanie aktuálneho času bude:
DateTime today = DateTime.Now;
Akonáhle sme definovali a uložili teraz do objektu DateTime. Ľahko ho môžeme previesť na reťazec, aby sme získali aktuálny dátum a čas, alebo môžeme dokonca zmeniť formát dátumu pomocou vyššie uvedených špecifikátorov.
C # časovač
Časovač v C # umožňuje programátorom nastaviť časový interval na opakované vykonanie určitej sady kódu alebo inštrukcie. Je to veľmi užitočné v prípade, že špecifikácia vašej aplikácie vyžaduje, aby ste po každom určitom intervale vykonali udalosť.
Napríklad, počas implementácie aplikácie na zálohovanie údajov.
Pozrime sa na jednoduchý program na implementáciu časovača:
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')); } } }
Pokiaľ teda spustíte tento program, bude sa zaznamenávať čas každé 2 sekundy.
Vo vyššie uvedenom programe sme najskôr inicializovali System.Timer. Potom nastavíme časový interval pre časovač. Tu sme ponechali interval 2 000 milisekúnd, môžete poskytnúť ľubovoľnú implementáciu podľa vašich požiadaviek. Po uplynutí časového intervalu musíme spustiť nejakú inštrukciu zavolaním nejakej metódy.
Tu sme každé dve sekundy volali „OnTimerEvent“. Metóda akceptuje dva parametre, prvý je „objekt“ a druhý je „ElapsedEventArgs“.
Musíme tiež resetovať časovač zakaždým, keď dosiahne interval, a tiež ho musíme povoliť. Preto sú automatický reset aj aktivácia časovača označené ako pravdivé. Potom napíšeme našu vlastnú správu na konzolu a tiež pridáme riadok na čítanie, aby sme sa uistili, že konzola zostane otvorená až do zásahu používateľa.
C # stopky
Na meranie času sa v C # používajú stopky. Je to veľmi užitočné pri porovnávaní výkonu kódu počas optimalizácie kódu. Môže sa použiť na vykonávanie nepretržitého monitorovania výkonu kódu / aplikácie a na kontrolu prípadného zníženia výkonu.
Stopky dokážu presne zmerať čas, ktorý uplynul počas udalosti, a sú ideálnou voľbou na načasovanie akejkoľvek udalosti v programe. Trieda stopiek je definovaná v priestore názvov System.Diagnostics a pre použitie je potrebné ju vytvoriť inštanciou. To je veľmi užitočné pre aplikácie, ktoré vyžadujú viacvláknové spracovanie. Hovory udalostí je možné vykonať pomocou metódy thread.sleep.
Čo je metóda spánku?
Metóda spánku sa používa na pozastavenie bežiaceho vlákna na konkrétne časové obdobie. Prijíma čas v milisekundách. Režim spánku je veľmi užitočný v prostredí s viacerými vláknami, kde chcete, aby sa jedno vlákno zastavilo, aby sa uvoľnilo miesto pre ďalšie vlákna na dokončenie ich vykonania.
Syntax pre metódu C # Sleep je:
System.Threading.Thread.Sleep(1000);
Teraz sme sa dozvedeli niečo o spánku a iných stopkách.
Vytvorme jednoduchý program stopiek, aby sme veci pochopili jasnejšie.
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ýkon
Výstupom vyššie uvedeného programu bude asi tento:
Posledný riadok zobrazuje čas, ktorý uplynul medzi začatím a zastavením stopiek.
Vo vyššie uvedenom programe sme definovali premennú stopky, do ktorej sme uložili inštanciu triedy Stopky. Použili sme metódu StartNew (). Metóda startnew vytvorí novú inštanciu zakaždým, keď sa zavolá, preto je veľmi užitočná, keď chceme stopky spustiť od začiatku.
Vlastnosť Elapsed stopiek umožňuje používateľovi zaznamenať časové rozpätie behu. Nakoniec sme uplynulý čas jednoducho vytlačili na konzolu.
Záver
Dátumový čas, časovač, spánok a stopky sa používajú v programovacom jazyku C # na uspokojenie rôznych účelov. Objekt DateTime sa používa na zhromažďovanie informácií o dátume a čase systému alebo na nastavenie vlastného dátumu a času pre použitie pre konkrétnu požiadavku aplikácie.
Časovač sa naopak používa na nastavenie časového intervalu medzi vykonaním určitých príkazov alebo udalostí.
Spánok je súčasťou System.Threading a používa sa na pozastavenie alebo zastavenie vykonávania na určitý časový interval. Toto umožňuje programátorom spustiť ďalšie vlákno v prostredí s viacerými vláknami, zatiaľ čo predchádzajúce vlákno je pozastavené.
Stopky sa dajú použiť na meranie výkonu alebo času stráveného vykonaním určitej udalosti. Môže ponúknuť presné meranie uplynulého času alebo kliešťov, pomocou ktorých je možné udržať výkon aplikácie pod kontrolou.
=> Preskúmajte celú sériu výcvikových kurzov C # tu
Odporúčané čítanie
- Výukový program pre Python DateTime s príkladmi
- Pracovná príležitosť na voľnej nohe na čiastočný úväzok pre odborníkov na selén
- Výukový program Java Reflection s príkladmi
- 10 najlepších softvérov na sledovanie voľného času pre sledovanie času zamestnancov
- Vykonávanie testovacích prípadov pomocou ALM / QC (Výukový program pre ALM QC pre 5. deň v Micro Focus)
- Objektové úložisko v QTP - príručka č. 22
- Funkcie dátumu a času v C ++ s príkladmi
- Vydaný TimeShiftX, ktorý zjednodušuje testovanie časového posunu