_ftime_s, _ftime32_s, _ftime64_s
Pobiera bieżący czas.Są to wersje _ftime, _ftime32, _ftime64 ze wzmocnieniem zabezpieczeń, jak opisano w Funkcje zabezpieczeń w CRT.
errno_t _ftime_s(
struct _timeb *timeptr
);
errno_t _ftime32_s(
struct __timeb32 *timeptr
);
errno_t _ftime64_s(
struct __timeb64 *timeptr
);
Parametry
- timeptr
Pointer to a _timeb,__timeb32, or __timeb64 structure.
Wartość zwracana
Zero, jeśli operacja się powiedzie; w przeciwnym razie, kod błędu.If timeptr is NULL, the return value is EINVAL.
Uwagi
_ftime_s Funkcja pobiera bieżący czas lokalny i zapisuje go w strukturze wskazywanego przez timeptr*.* The _timeb,__timeb32,and__timeb64 structures are defined in SYS\Timeb.h.Zawierają one cztery pola, które są wymienione w poniższej tabeli.
dstflag
Różna od zera, jeśli czas letni są aktualnie włączone dla lokalnej strefy czasowej. (Zobacz _tzset o wyjaśnienie, jak ustalić czas letni.)millitm
Ułamek sekundy (w milisekundach).time
Czas w sekundach od północy (00:00), 1 stycznia 1970 r., skoordynowanego czasu uniwersalnego (UTC).timezone
Różnica w minutach, zachód, przenoszenie się między czasem UTC i czasem lokalnym.Wartość timezone jest ustawiona z wartością zmiennej globalnej _timezone (patrz _tzset).
_ftime64_s, który korzysta z __timeb64 struktury, umożliwia tworzenie pliku dat muszą być wyrażone w górę do 23:59:59, 31 grudnia 3000 UTC; Dlatego _ftime32_s stanowi jedynie dat za pomocą 03:14:07 19 stycznia 2038 r. UTC.Północy, 1 stycznia 1970 r., to dolna granica zakresu dat do tych funkcji.
_ftime_sjest równoważne z _ftime64_s i _timeb zawiera czas 64-bitowych.Ta zasada obowiązuje chyba że _USE_32BIT_TIME_T jest zdefiniowana, w którym to przypadku starego zachowania jest obowiązująca; _ftime_s używa czasu 32-bitowych i _timeb zawiera czas 32-bitowych.
_ftime_s sprawdza poprawność parametrów.Jeżeli nie przekazano wskaźnik zerowy jako timeptr, funkcja wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może w dalszym ciągu, funkcja ustawia errno do EINVAL.
Wymagania
Funkcja |
Wymagany nagłówek |
---|---|
_ftime_s |
<sys/types.h> i <sys/timeb.h> |
_ftime32_s |
<sys/types.h> i <sys/timeb.h> |
_ftime64_s |
<sys/types.h> i <sys/timeb.h> |
Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność we Wstępie.
Biblioteki
Wszystkie wersje Bibliotek uruchomieniowych C.
Przykład
// crt_ftime64_s.c
// This program uses _ftime64_s to obtain the current
// time and then stores this time in timebuffer.
#include <stdio.h>
#include <sys/timeb.h>
#include <time.h>
int main( void )
{
struct _timeb timebuffer;
char timeline[26];
errno_t err;
time_t time1;
unsigned short millitm1;
short timezone1;
short dstflag1;
_ftime64_s( &timebuffer );
time1 = timebuffer.time;
millitm1 = timebuffer.millitm;
timezone1 = timebuffer.timezone;
dstflag1 = timebuffer.dstflag;
printf( "Seconds since midnight, January 1, 1970 (UTC): %I64d\n",
time1);
printf( "Milliseconds: %d\n", millitm1);
printf( "Minutes between UTC and local time: %d\n", timezone1);
printf( "Daylight savings time flag (1 means Daylight time is in "
"effect): %d\n", dstflag1);
err = ctime_s( timeline, 26, & ( timebuffer.time ) );
if (err)
{
printf("Invalid argument to ctime_s. ");
}
printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm,
&timeline[20] );
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64