Bildirim
struct tm* localtime(const time_t *timer);
struct tm* localtime_s(const time_t *restrict timer, struct tm *restrict result); (C11)
Açıklama
Timer parametresi ile gösterilen time_t zaman değerini kullanarak, tm zaman yapısı içindeki yıl, ay, gün ve saat bilgilerini yerel zamana karşılık gelen değerlerle doldurur.
localtime_s() fonksiyonu ayrıca, sonucu yüklemek için result parametresi ile gösterilen yapıyı kullanır. Timer veya result parametre değeri NULL bir işaretçi ise, yüklenmiş olan kısıtlayıcı işlem fonksiyonu çağrılır.
Parametreler
timer: Çevrilecek olan time_t zaman değerini gösteren bir işaretçidir.
result: Sonuçları yüklemek için kullanılan tm yapı değişkenini gösteren bir işaretçidir.
Dönüş değeri
localtime() fonksiyonu başarı durumunda tm yapı değişkenini gösteren bir işaretçi, hata durumunda ise NULL bir işaretçi geri döndürür.
struct tm { int tm_sec; /* Saniye: 0-59 */ int tm_min; /* Dakika: 0-59 */ int tm_hour; /* Saat : 0-23 */ int tm_mday; /* Ayın günü: 1-31 */ int tm_mon; /* Aylar Ocak'tan itibaren: 0-11 */ int tm_year; /* Yıllar 1900'den itibaren */ int tm_wday; /* Hafta gün sayısı Pazar'dan itibaren (0-6) */ int tm_yday; /* Yıl gün sayısı 1 Ocak'tan itibaren : 0-365 */ int tm_isdst; /* +1 Günışığından Faydalanma Zamanı, 0 GFZ yok, -1 Bilgi yok */ };
localtime_s() fonksiyonu başarı durumunda result parametresi ile gösterilen işaretçiyi, hata durumunda ise NULL bir işaretçi geri döndürür.
Örnek
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t time_1970;
struct tm *time_detay;
time_1970 = time(NULL);
/* 1 Ocak 1970'den bugüne saniye olarak geçen zaman */
printf("1 Ocak 1970'den bugüne geçen zaman: %ld saniye\n", time_1970);
/* Yerel zaman */
time_detay = localtime(&time_1970);
printf("Yerel zaman: %s", asctime(time_detay));
}
Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar.
1 Ocak 1970'den bugüne geçen zaman: 1571116645 saniye Yerel zaman: Tue Oct 15 08:17:25 2019
Program time() fonksiyonu ile 1 Ocak 1970'den bugüne geçen zamanı saniye olarak alır ve ekrana yazar. Bu değeri localtime() fonksiyonu ile yerel zamana çevirerek asctime() fonksiyonu ile ekrana yazar.