Vitajte na [www.pocitac.win] Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy počítačový

Ako previesť čas epochy v C ++

Časová funkcia v štandardnej knižnici C ++ vracia sekundy, ktoré uplynuli od určitého štandardizovaného dátumu a času známeho ako epocha. Aj keď táto hodnota obsahuje všetky informácie potrebné na výpočet aktuálneho času a dátumu systému, písanie vlastného časového prekladového kódu času je náchylné na chyby. Pomocou funkcií na konverziu času, ktoré poskytuje štandardná knižnica, je tento proces prekladu triviálny a umožňuje vám zamerať sa na zložitejšie časti vašej aplikácie.

Krok 1

Zahrňte do svojej funkcie časovej funkcie štandardnej knižnice C ++. aplikácie. Pridajte nasledujúci riadok na začiatok svojho zoznamu zahrnutí: #include

Krok 2

Získajte sekundy, ktoré uplynuli od epochy, a uložte ich lokálne. Urobte to tak, že zavoláte time () a výsledok uložíte do objektu typu time_t. Časová funkcia tiež akceptuje ukazovateľ na objekt typu time_t ako argument, ale je jednoduchšie ho lokálne uložiť do zásobníka: time_t timeSinceEpoch = time (NULL);

Krok 3

Vytvoriť časovú štruktúru na uloženie výsledku časovej konverzie. Táto štruktúra je definovaná v hlavičkovom súbore time.h ako štruktúra s názvom tm a poskytuje pohodlne pomenované členské premenné pre každú zložku prevedeného času: tm timeResult;

Na uloženie súboru použite jednu z vstavaných konverzných funkcií. hodnota time_t získaná skôr ako tm štruktúra. Nasledujúci kód pre zjednodušenie prevádza objekt time_t na štruktúru UTC tm: timeResult = gmtime (& timeSinceEpoch);

Tipy

Štandardná knižnica poskytuje aj funkciu nazývanú localtime, ktorá prevádza objekt time_t na lokálne čas namiesto času UTC.

Existuje niekoľko funkcií na ďalšiu konverziu štruktúry tm na reťazec čitateľný pre človeka, ktorý je pripravený na výstup pre používateľa.

Upozornenia

Uvedomte si obdobie, od ktorého počítač počíta, pretože to môže ovplyvniť výstupnú hodnotu. Väčšina počítačov sa počíta od 1. januára 1970.

Maximálna presnosť vyššie uvedeného kódu je jedna sekunda. Ak chcete získať presnejšie časy s hodnotami kratšími ako jedna sekunda, budete musieť použiť inú metódu,

Položky, ktoré budete potrebovať

Textový editor

kompilátor

Copyright © počítačové znalosti Všetky práva vyhradené