Share via


_ftime_s, _ftime32_s, _ftime64_s

Mendapatkan waktu saat ini. Fungsi-fungsi ini adalah versi _ftime, _ftime32, _ftime64 dengan peningkatan keamanan seperti yang dijelaskan dalam Fitur keamanan di CRT.

Sintaks

errno_t _ftime_s( struct _timeb *timeptr );
errno_t _ftime32_s( struct __timeb32 *timeptr );
errno_t _ftime64_s( struct __timeb64 *timeptr );

Parameter

timeptr
Penunjuk ke _timebstruktur , __timeb32, atau __timeb64 .

Nilai hasil

Nol jika berhasil, kode kesalahan pada kegagalan. Jika timeptr adalah NULL, nilai yang dikembalikan adalah EINVAL.

Keterangan

Fungsi ini _ftime_s mendapatkan waktu lokal saat ini dan menyimpannya dalam struktur yang ditujukkan oleh timeptr. Struktur _timeb, __timeb32, dan __timeb64 didefinisikan dalam SYS\Timeb.h. Bidang tersebut berisi empat bidang, yang tercantum dalam tabel berikut.

Bidang Deskripsi
dstflag Bukan nol jika waktu musim panas saat ini berlaku untuk zona waktu lokal. (Lihat _tzset untuk penjelasan tentang bagaimana waktu musim panas ditentukan.)
millitm Pecahan detik dalam milidetik.
time Waktu dalam detik sejak tengah malam (00:00:00), 1 Januari 1970, waktu universal terkoordinasi (UTC).
timezone Perbedaan dalam hitungan menit, bergerak ke arah barat, antara UTC dan waktu setempat. Nilai timezone diatur dari nilai variabel _timezone global (lihat _tzset).

Fungsi _ftime64_s ini, yang menggunakan __timeb64 struktur, memungkinkan tanggal pembuatan file dinyatakan hingga 23:59:59, 31 Desember 3000, UTC; sedangkan _ftime32_s hanya mewakili tanggal hingga 23:59:59 18 Januari 2038, UTC. Tengah malam, 1 Januari 1970, adalah batas bawah rentang tanggal untuk semua fungsi ini.

Fungsi _ftime_s ini setara dengan _ftime64_s, dan _timeb berisi waktu 64-bit, kecuali _USE_32BIT_TIME_T didefinisikan, dalam hal ini perilaku lama berlaku; _ftime_s menggunakan waktu 32-bit dan _timeb berisi waktu 32-bit.

_ftime_s memvalidasi parameternya. Jika melewati penunjuk null sebagai timeptr, fungsi memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi diatur errno ke EINVAL.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Function Header yang diperlukan
_ftime_s <sys/type.h> dan <sys/timeb.h>
_ftime32_s <sys/type.h> dan <sys/timeb.h>
_ftime64_s <sys/type.h> dan <sys/timeb.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Pustaka

Semua versi pustaka run-time C.

Contoh

// 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

Baca juga

Manajemen waktu
asctime, _wasctime
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64