Udostępnij za pośrednictwem


gmtime_s, _gmtime32_s, _gmtime64_s

Konwertuje wartość czasu do struktury.Są to wersje _gmtime32, _gmtime64 z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

errno_t gmtime_s(
   struct tm* _tm,
   const __time_t* time
);
errno_t _gmtime32_s(
   struct tm* _tm,
   const __time32_t* time
);
errno_t _gmtime64_s(
   struct tm* _tm,
   const __time64_t* time 
);

Parametry

  • _tm
    Wskaźnik, aby tm struktury.Pola struktury zwracane przytrzymaj oceniana wartość timer argument, zgodnie z czasem UTC, a nie czas lokalny.

  • time
    Wskaźnik, aby czas przechowywane.Czas jest reprezentowana jako sekund, jaka upłynęła od północy (00: 00), 1 stycznia 1970 roku skoordynowanego czasu uniwersalnego (UTC).

Wartość zwracana

Zero, jeśli kończy się pomyślnie.Wartość zwracana jest kod błędu, jeśli wystąpi awaria.Kody błędów są zdefiniowane w errno; Aby uzyskać listę tych błędów, zobacz errno.

Warunki błędów

_tm

time

Zwrot

Wartość_tm

NULL

wszelkie

EINVAL

Nie jest modyfikowany.

Nie NULL (wskazuje prawidłowy pamięci)

NULL

EINVAL

Wszystkie pola ustawione na wartość -1.

NieNULL

< 0

EINVAL

Wszystkie pola ustawione na wartość -1.

W odniesieniu do pierwszego warunki dwóch błąd nieprawidłowy parametr wywoływana jest funkcja obsługi, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca EINVAL.

Uwagi

_gmtime32_s Dzieli się funkcja time wartość i zapisuje go w strukturze typu tm, określonych w Time.h.Przekazany adres struktury _tm.Wartość time uzyskuje się zwykle z wywołania time funkcji.

[!UWAGA]

Środowiska docelowego należy spróbować ustalić, czy jest czasu letniego obowiązujące.Biblioteka uruchomieniowa c zakłada Stanów Zjednoczonych zasady wykonywania obliczania czasu letniego.

Każde z pól struktury jest typu int, jak pokazano w poniższej tabeli.

  • 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
    Zawsze 0 dla gmtime.

_gmtime64_s, który korzysta z __time64_t struktury, pozwala na daty, wyrażone są do 23: 59: 59, 31 grudnia, 3000, UTC; należy gmtime32_s reprezentują tylko daty poprzez 03: 14: 07 19 stycznia 2038, UTC.Północy, 1 stycznia 1970 r., jest dolną granicą zakres dat dla obu tych funkcji.

gmtime_sfunkcji śródwierszowej, której wynikiem jest _gmtime64_s i time_t jest równoważne z __time64_t.Jeśli trzeba wymusić na kompilatorze interpretowania time_t jako stary 32-bitowe time_t, można zdefiniować _USE_32BIT_TIME_T.Spowoduje to zaawansowana gmtime_s się w rurowy do _gmtime32_s.Nie jest to zalecane, ponieważ aplikacja może zakończyć się niepowodzeniem po 18 stycznia 2038, i nie jest dozwolone na platformach 64-bitowych.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

gmtime_s

<time.h>

_gmtime32_s

<time.h>

_gmtime64_s

<time.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// crt_gmtime64_s.c
// This program uses _gmtime64_s to convert a 64-bit
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime_s to
// convert this structure to an output string.
 

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

int main( void )
{
   struct tm newtime;
   __int64 ltime;
   char buf[26];
   errno_t err;

   _time64( &ltime );

   // Obtain coordinated universal time: 
   err = _gmtime64_s( &newtime, &ltime );
   if (err)
   {
      printf("Invalid Argument to _gmtime64_s.");
   }
   
   // Convert to an ASCII representation 
   err = asctime_s(buf, 26, &newtime);
   if (err)
   {
      printf("Invalid Argument to asctime_s.");
   }

   printf( "Coordinated universal time is %s\n", 
           buf );
}
  

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Zarządzanie czasem

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64