gmtime_s
, , _gmtime32_s
_gmtime64_s
Mengonversi nilai waktu menjadi tm
struktur. Fungsi-fungsi ini adalah versi _gmtime32
, _gmtime64
dengan peningkatan keamanan seperti yang dijelaskan dalam Fitur keamanan di CRT.
Sintaks
errno_t gmtime_s(
struct tm* tmDest,
const __time_t* sourceTime
);
errno_t _gmtime32_s(
struct tm* tmDest,
const __time32_t* sourceTime
);
errno_t _gmtime64_s(
struct tm* tmDest,
const __time64_t* sourceTime
);
Parameter
tmDest
Penunjuk tm
ke struktur. Bidang struktur yang dikembalikan menyimpan nilai argumen yang timer
dievaluasi dalam UTC daripada di waktu lokal.
sourceTime
Penunjuk ke waktu tersimpan. Waktu dinyatakan sebagai detik yang berlalu sejak tengah malam (00:00:00), 1 Januari 1970, waktu universal terkoordinasi (UTC).
Nilai hasil
Nol jika berhasil. Nilai yang dikembalikan adalah kode kesalahan jika ada kegagalan. Kode kesalahan didefinisikan dalam Errno.h
; untuk daftar kesalahan ini, lihat errno
.
Kondisi kesalahan
tmDest |
sourceTime |
Tampilkan | Nilai dalam tmDest |
---|---|---|---|
NULL |
any | EINVAL |
Tidak dimodifikasi. |
Bukan NULL (menunjuk ke memori yang valid) |
NULL |
EINVAL |
Semua bidang diatur ke -1. |
Tidak NULL |
< 0 | EINVAL |
Semua bidang diatur ke -1. |
Dua kondisi kesalahan pertama memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini diatur errno
ke EINVAL
dan mengembalikan EINVAL
.
Keterangan
Fungsi _gmtime32_s
memecah sourceTime
nilai dan menyimpannya dalam struktur jenis tm
, yang ditentukan dalam Time.h
. Alamat struktur diteruskan dalam tmDest
. Nilai sourceTime
sering diperoleh dari panggilan ke time
fungsi.
Setiap bidang struktur berjenis int
, seperti yang diperlihatkan dalam tabel berikut.
Bidang | Deskripsi |
---|---|
tm_sec |
Detik demi menit (0 - 59). |
tm_min |
Menit demi jam (0 - 59). |
tm_hour |
Jam sejak tengah malam (0 - 23). |
tm_mday |
Hari dalam sebulan (1 - 31). |
tm_mon |
Bulan (0 - 11; Januari = 0). |
tm_year |
Tahun (tahun berjalan minus 1900). |
tm_wday |
Hari dalam seminggu (0 - 6; Minggu = 0). |
tm_yday |
Hari dalam setahun (0 - 365; 1 Januari = 0). |
tm_isdst |
Selalu 0 untuk gmtime_s . |
_gmtime64_s
, yang menggunakan __time64_t
struktur, memungkinkan tanggal dinyatakan hingga 23:59:59, 31 Desember 3000, UTC; sedangkan gmtime32_s
hanya mewakili tanggal hingga 23:59:59 18 Januari 2038, UTC. Tengah malam, 1 Januari 1970, adalah batas bawah rentang tanggal untuk kedua fungsi ini.
gmtime_s
adalah fungsi sebaris yang mengevaluasi dan _gmtime64_s
time_t
setara dengan __time64_t
. Jika Anda perlu memaksa pengkompilasi untuk menafsirkan time_t
sebagai 32-bit time_t
lama, Anda dapat menentukan _USE_32BIT_TIME_T
. _USE_32BIT_TIME_T
gmtime_s
menyebabkan inlined sebagai _gmtime32_s
. Kami tidak merekomendasikan _USE_32BIT_TIME_T
, karena aplikasi Anda mungkin gagal setelah 18 Januari 2038, dan karena tidak diizinkan pada platform 64-bit.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header C yang diperlukan | Header C++ yang diperlukan |
---|---|---|
gmtime_s , , _gmtime32_s _gmtime64_s |
<time.h> |
<ctime> atau <time.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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( <ime );
// Obtain coordinated universal time:
err = _gmtime64_s( &newtime, <ime );
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 );
}
Coordinated universal time is Fri Apr 25 20:12:33 2003
Lihat juga
Manajemen waktu
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