Udostępnij za pośrednictwem


localtime, _localtime32, _localtime64

Konwertowanie wartości czasu i poprawić w lokalnej strefie czasowej.Bezpieczniejsze wersje te funkcje są dostępne; 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
    Wskaźnik, aby czas przechowywane.

Wartość zwracana

Zwraca wskaźnik do wyniku struktury lub NULL , jeśli data przekazany do funkcji jest:

  • Przed północą, 1 stycznia 1970 r.

  • Po 03: 14: 07, dnia 19 stycznia 2038 UTC (za pomocą _time32 i time32_t).

  • Po 23: 59: 59, 31 grudnia, 3000, UTC (za pomocą _time64 i __time64_t).

_localtime64, który korzysta z __time64_t struktury, pozwala dat wyrażone są do 23: 59: 59, 31 grudnia, 3000, skoordynowanego czasu uniwersalnego (UTC), należy _localtime32 reprezentuje dat poprzez 03: 14: 07 19 stycznia 2038, UTC.

localtimefunkcji śródwierszowej, której wynikiem jest _localtime64, i time_t jest równoważne z __time64_t.Jeśli trzeba wymusić na kompilatorze interpretowania time_tjako stary 32-bitowe time_t, można zdefiniować _USE_32BIT_TIME_T.Spowoduje to zaawansowana localtime do oceny do _localtime32.Nie jest to zalecane, ponieważ aplikacja może zakończyć się niepowodzeniem po 19 stycznia 2038, i nie jest dozwolone na platformach 64-bitowych.

Pól typu Struktura tm przechowywać następujące wartości, z których każdy jest int:

  • tm_sec
    Sekund po minucie (0-59).

  • tm_min
    Minut po godzinie (0-59).

  • tm_hour
    Godziny od północy (0-23).

  • tm_mday
    Dzień miesiąca (1 – 31).

  • tm_mon
    Miesiąc (0 – 11; Stycznia = 0).

  • tm_year
    Rok (bieżącego roku minus 1900).

  • tm_wday
    Dzień tygodnia (0-6; Niedziela = 0).

  • tm_yday
    Dzień roku (0 – 365; 1 Stycznia = 0).

  • tm_isdst
    Wartość dodatnia, jeśli zmiany czasu letniego obowiązujące; 0, jeśli zmiany czasu letniego, nie jest skuteczne; wartość ujemna, jeśli stan czasu letniego jest nieznany.Jeśli TZ zmienna środowiskowa jest ustawiona, biblioteka uruchomieniowa c przyjmie zasady właściwe do Stanów Zjednoczonych wykonywania obliczania czasu — letniego (DST).

Uwagi

localtime Funkcja konwertuje czas przechowywane jako time_t wartość i zapisuje wynik w postaci struktury typu tm.long Wartość timer reprezentuje liczbę sekund, jaka upłynęła od północy (00: 00), 1 stycznia 1970 roku UTC.Wartość ta jest zazwyczaj uzyskiwany z time funkcji.

Zarówno 32-bitowych i 64-bitowe wersje gmtime, mktime, mkgmtime, i localtime wszystkie użyć pojedynczego tm struktury na wątku do konwersji.Każde wywołanie do jednej z tych procedur niszczy wynik poprzednie wywołanie.

localtimekoryguje się dla lokalnej strefy czasowej, jeśli użytkownik najpierw ustawia zmienną środowiskową globalnego TZ.Gdy TZ jest ustawiona, trzech innych zmiennych środowiskowych (_timezone, _daylight, i _tzname) są automatycznie ustawiane również.Jeśli TZ zmienna nie jest ustawiona, localtime próbuje użyć informacje o strefie czasowej, określona w aplikacji, Data i godzina w Panelu sterowania.Jeśli nie można uzyskać te informacje, PST8PDT, co oznacza w strefie czasu Pacyfiku, jest używany domyślnie.Zobacz _tzset opis tych zmiennych.TZrozszerzenia Microsoft i nie jest częścią standardowej definicji ANSI z localtime.

[!UWAGA]

Środowiska docelowego należy spróbować ustalić, czy zmiany czasu letniego jest w mocy.

Te funkcje sprawdzania poprawności ich parametrów.Jeśli timer jest wskaźnik zerowy, lub jeśli wartość czasomierza jest ujemna, te funkcje Wywołaj funkcję obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje zwracają wartość NULL i errno do EINVAL.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

localtime

<time.h>

_localtime32

<time.h>

_localtime64

<time.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}
  

Odpowiednik w programie .NET Framework

System::DateTime::ToLocalTime

Zobacz też

Informacje

Zarządzanie czasem

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset