Sdílet prostřednictvím


localtime, _localtime32, _localtime64

Převést časovou hodnotu a opravit pro místní časové pásmo.Bezpečnější verze tyto funkce jsou k dispozici; see localtime_s, _localtime32_s, _localtime64_s.

struct tm *localtime(
   const time_t *timer 
);
struct tm *_localtime32(
   const __time32_t *timer
);
struct tm *_localtime64(
   const __time64_t *timer 
);

Parametry

  • timer
    Ukazatel času uložené.

Vrácená hodnota

Ukazatel vrátit výsledek struktury nebo NULL Pokud předaný funkci datum je:

  • Před půlnocí, dnem 1.

  • Po 03: 14: 07, 19 01.01.08, UTC (pomocí _time32 a time32_t).

  • Po 23: 59: 59, do 31. prosince 3000 UTC (pomocí _time64 a __time64_t).

_localtime64, která používá __time64_t struktury, že umožňuje data vyjádřeno až 23: 59: 59, do 31. prosince 3000 koordinovaný světový čas (UTC), _localtime32 představuje data prostřednictvím 03: 14: 07 19 01.01.08, UTC.

localtimevložené funkce, jehož výsledkem je _localtime64, a time_t je ekvivalentní __time64_t.Chcete-li vynutit kompilátor interpretace time_tjako staré 32-bit time_t, můžete definovat _USE_32BIT_TIME_T.Tím dojde k localtime k vyhodnocení _localtime32.Nedoporučuje se, protože aplikace může selhat po 19 01.01.08, a není povoleno na 64bitových platformách.

Pole Typ struktury tm uložit následující hodnoty, které int:

  • tm_sec
    Sekund po minuta (0-59).

  • tm_min
    Minut po hodině (0-59).

  • tm_hour
    Hodiny po půlnoci (0-23).

  • tm_mday
    Den v měsíci (1-31).

  • tm_mon
    Měsíc (0 – 11; Ledna = 0).

  • tm_year
    Rok (aktuální rok minus 1900).

  • tm_wday
    Den v týdnu (0 – 6; Neděle = 0).

  • tm_yday
    Den roku (0 – 365; Ledna = 0).

  • tm_isdst
    Kladná hodnota, pokud letní čas je v platnosti; 0, pokud není letního času v účinku; Záporná hodnota, pokud Neznámý stav letního času.Pokud TZ je nastavena proměnná prostředí, C Runtime library předpokládá pravidla USA vhodné pro provádění výpočtu letní – čas (DST).

Poznámky

localtime Funkce převede čas uloženy jako time_t hodnotu a výsledek uloží do struktury typu tm.long Hodnotu timer představuje počet sekund uplynulých od půlnoci (00: 00), 1. ledna 1970, UTC.Tato hodnota je obvykle získán z time funkce.

Obě 32bitové a 64bitové verze gmtime, mktime, mkgmtime, a localtime používat jeden tm struktury na podproces pro převod.Každé volání jedné tyto rutiny ničí výsledek předchozí volání.

localtimePokud uživatel nejprve nastaví proměnnou prostředí globální opraví pro místní časové pásmo TZ.Při TZ je nastavena tři jiné proměnné prostředí (_timezone, _daylight, a _tzname) jsou automaticky nastaveny také.Pokud TZ není nastavena proměnná, localtime se pokusí použít časové pásmo informace uvedené v žádosti datum a čas v okně Ovládací panely.Pokud nelze získat tyto informace, PST8PDT, která znamená tichomořského je ve výchozím nastavení.Viz _tzset popis těchto proměnných.TZrozšíření Microsoft a není součástí standardní definice ANSI localtime.

[!POZNÁMKA]

Cílové prostředí se pokuste zjistit, zda je v platnosti letní čas.

Tyto funkce ověřit jejich parametrů.Pokud timer je ukazatel hodnotu null nebo pokud je záporná hodnota časovače, tyto funkce vyvolat obslužnou rutinu neplatný parametr popsaným v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí funkce NULL a errno na EINVAL.

Požadavky

Rutina

Požadované záhlaví

localtime

<time.h>

_localtime32

<time.h>

_localtime64

<time.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

// crt_localtime.cpp
// compile with: /W3
/* This program uses _time64 to get the current time 
 * and then uses localtime64() to convert this time to a structure 
 * representing the local time. The program converts the result 
 * from a 24-hour clock to a 12-hour clock and determines the 
 * proper extension (AM or PM).
 */

#include <stdio.h>
#include <string.h>
#include <time.h>

int main( void )
{
        struct tm *newtime;
        char am_pm[] = "AM";
        __time64_t long_time;

        _time64( &long_time );           // Get time as 64-bit integer.
                                         // Convert to local time.
        newtime = _localtime64( &long_time ); // C4996
        // Note: _localtime64 deprecated; consider _localetime64_s

        if( newtime->tm_hour > 12 )        // Set up extension.
                strcpy_s( am_pm, sizeof(am_pm), "PM" );
        if( newtime->tm_hour > 12 )        // Convert from 24-hour
                newtime->tm_hour -= 12;    //   to 12-hour clock.
        if( newtime->tm_hour == 0 )        // Set hour to 12 if midnight.
                newtime->tm_hour = 12;

        char buff[30];
        asctime_s( buff, sizeof(buff), newtime );
        printf( "%.19s %s\n", buff, am_pm );
}
  

Ekvivalent v rozhraní .NET Framework

System::datetime::ToLocalTime

Viz také

Referenční dokumentace

Aplikace Správa času

asctime _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset