BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <time.h> > localtime

localtime() fonksiyonu

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.