Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera bieżący czas. Te funkcje to wersje programu _ftime, _ftime64_ftime32 z ulepszeniami zabezpieczeń zgodnie z opisem w temacie Funkcje zabezpieczeń w narzędziu CRT.
Składnia
errno_t _ftime_s( struct _timeb *timeptr );
errno_t _ftime32_s( struct __timeb32 *timeptr );
errno_t _ftime64_s( struct __timeb64 *timeptr );
Parametry
timeptr
Wskaźnik do _timebstruktury , __timeb32lub __timeb64 .
Wartość zwracana
Zero, jeśli działanie powiedzie się, kod błędu w przypadku niepowodzenia. Jeśli timeptr wartość to NULL, zwracana wartość to EINVAL.
Uwagi
Funkcja _ftime_s pobiera bieżący czas lokalny i przechowuje go w strukturze wskazywane przez timeptr. Struktury _timeb, __timeb32i __timeb64 są zdefiniowane w pliku SYS\Timeb.h. Zawierają cztery pola wymienione w poniższej tabeli.
| Pole | opis |
|---|---|
dstflag |
Niezerowe, jeśli czas letni jest obecnie obowiązujący dla lokalnej strefy czasowej. (Zobacz _tzset , jak określa się czas letni). |
millitm |
Ułamek sekundy w milisekundach. |
time |
Czas w sekundach od północy (00:00:00), 1 stycznia 1970 r., skoordynowany uniwersalny czas (UTC). |
timezone |
Różnica w minutach, ruch na zachód, między UTC a czasem lokalnym. Wartość parametru timezone jest ustawiana na podstawie wartości zmiennej _timezone globalnej (zobacz _tzset). |
Funkcja _ftime64_s , która używa __timeb64 struktury, umożliwia wyrażenie dat tworzenia plików do 23:59:59, 31 grudnia 3000, UTC; natomiast _ftime32_s reprezentuje tylko daty do 23:59:59 stycznia 18, 2038 r. UTC. Północ, 1 stycznia 1970 r., jest dolną granicą zakresu dat dla wszystkich tych funkcji.
Funkcja _ftime_s jest równoważna _ftime64_sfunkcji i _timeb zawiera 64-bitowy czas, chyba że _USE_32BIT_TIME_T jest zdefiniowany, w którym przypadku stare zachowanie jest stosowane; _ftime_s używa czasu 32-bitowego i _timeb zawiera 32-bitowy czas.
_ftime_s weryfikuje jego parametry. Jeśli przekazano wskaźnik o wartości null jako timeptr, funkcja wywołuje nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja ustawia wartość errno EINVAL.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
| Function | 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 o zgodności, zobacz Zgodność.
Biblioteki
Wszystkie wersje bibliotek czasu wykonywania języka 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] );
}
Seconds since midnight, January 1, 1970 (UTC): 1051553334
Milliseconds: 230
Minutes between UTC and local time: 480
Daylight savings time flag (1 means Daylight time is in effect): 1
The time is Mon Apr 28 11:08:54.230 2003
Zobacz też
Zarządzanie czasem
asctime, _wasctime
ctime, , _ctime32, _ctime64, _wctime, , _wctime32_wctime64
gmtime, , _gmtime32_gmtime64
localtime, , _localtime32_localtime64
time, , _time32_time64