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
Zobacz też
Informacje
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64