localtime
, _localtime32
, _localtime64
Mengonversi nilai waktu dan mengoreksi untuk zona waktu lokal. Versi yang lebih aman dari fungsi-fungsi ini tersedia; lihat localtime_s
, _localtime32_s
, _localtime64_s
.
Sintaks
struct tm *localtime( const time_t *sourceTime );
struct tm *_localtime32( const __time32_t *sourceTime );
struct tm *_localtime64( const __time64_t *sourceTime );
Parameter
sourceTime
Penunjuk ke waktu tersimpan.
Nilai hasil
Kembalikan penunjuk ke hasil struktur, atau NULL
jika tanggal yang diteruskan ke fungsi adalah:
Sebelum tengah malam, 1 Januari 1970.
Setelah 03:14:07, 19 Januari 2038, UTC (menggunakan
_time32
dantime32_t
).Setelah 23:59:59, 31 Desember 3000, UTC (menggunakan
_time64
dan__time64_t
).
_localtime64
, yang menggunakan __time64_t
struktur, memungkinkan tanggal dinyatakan hingga 23:59:59, 31 Desember 3000, waktu universal terkoordinasi (UTC), sedangkan _localtime32
mewakili tanggal hingga 23:59:59 18 Januari 2038, UTC.
localtime
adalah fungsi sebaris yang mengevaluasi ke _localtime64
, dan 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
localtime
menyebabkan evaluasi ke _localtime32
. Kami tidak merekomendasikan _USE_32BIT_TIME_T
, karena aplikasi Anda mungkin gagal setelah 18 Januari 2038, dan tidak diizinkan pada platform 64-bit.
Bidang jenis tm
struktur menyimpan nilai berikut, yang masing-masing adalah int
:
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 |
Nilai positif jika waktu musim panas berlaku; 0 jika waktu musim panas tidak berlaku; nilai negatif jika status waktu musim panas tidak diketahui. |
TZ
Jika variabel lingkungan diatur, pustaka run-time C mengasumsikan aturan yang sesuai dengan Amerika Serikat untuk menerapkan perhitungan waktu musim panas (DST).
Keterangan
Fungsi ini localtime
mengonversi waktu yang disimpan sebagai time_t
nilai dan menyimpan hasilnya dalam struktur jenis tm
. Nilai long
sourceTime
mewakili detik yang berlalu sejak tengah malam (00:00:00), 1 Januari 1970, UTC. Nilai ini sering diperoleh dari time
fungsi .
Baik versi 32-bit dan 64-bit , gmtime
, mktime
mkgmtime
, dan localtime
semuanya menggunakan satu tm
struktur per utas untuk konversi. Setiap panggilan ke salah satu rutinitas ini menghancurkan hasil panggilan sebelumnya.
localtime
mengoreksi zona waktu lokal jika pengguna pertama kali mengatur variabel TZ
lingkungan global . Ketika TZ
diatur, tiga variabel lingkungan lainnya (_timezone
, , _daylight
dan _tzname
) secara otomatis diatur juga. TZ
Jika variabel tidak diatur, localtime
upaya untuk menggunakan informasi zona waktu yang ditentukan dalam aplikasi Tanggal/Waktu di Panel Kontrol. Jika informasi ini tidak dapat diperoleh, PST8PDT, yang menandakan Zona Waktu Pasifik, digunakan secara default. Lihat _tzset
untuk deskripsi variabel ini. TZ
adalah ekstensi Microsoft dan bukan bagian dari definisi standar ANSI dari localtime
.
Catatan
Lingkungan target harus mencoba menentukan apakah waktu musim panas berlaku.
Fungsi-fungsi ini memvalidasi parameternya. Jika sourceTime
adalah penunjuk null, atau jika sourceTime
nilainya negatif, fungsi-fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi kembali NULL
dan diatur errno
ke EINVAL
.
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 |
---|---|---|
localtime , _localtime32 , _localtime64 |
<time.h> |
<ctime> atau <time.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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 );
}
Tue Feb 12 10:05:58 AM
Baca juga
Manajemen waktu
asctime
, _wasctime
ctime
, _ctime32
, _ctime64
, _wctime
, _wctime32
, _wctime64
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime_s
, _localtime32_s
, _localtime64_s
time
, _time32
, _time64
_tzset
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk