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

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

ctime() fonksiyonu

Bildirim

char* ctime(const time_t *timer);

errno_t ctime_s(char *buf, rsize_t bufsz, const time_t *timer); (C11)

Açıklama

Timer parametresi ile gösterilen time_t değerini yerel zamana çevirdikten sonra yıl, ay, gün ve saat bilgilerini içeren karakter dizisini geri döndürür. Geri döndürülen karakter dizisi aşağıdaki yapıdadır:

www mmm dd hh:mm:ss yyyy

Mon Oct 14 18:47:24 2019

www: Haftanın gününü 3 harf ile gösterir.

mmm: Ayı 3 harf ile gösterir.

dd: Ayın kaçıncı günü olduğunu sayı ile gösterir.

hh: Günün saatini gösterir.

mm: Dakikayı gösterir.

ss: Saniyeyi gösterir.

Geri döndürülen karakter dizisi yeni satır karakteri ('\n') ve boş bir karakter ('\0') ile sonlandırılır.

ctime_s() fonksiyonu ayrıca, karakter dizisini kullanıcı tarafından sağlanan ve buf parametresi ile gösterilen boş bir karakterle sonlandırılmış olan belleğe kopyalar. Aşağıdaki hatalar çalışma zamanında algılandığında, yüklenmiş olan kısıtlayıcı işlem fonksiyonu çağrılır:

  • Buf veya timer parametre değeri NULL bir işaretçi ise,
  • Bufsz parametre değeri 26 değerinden küçük veya RSIZE_MAX değerinden büyük ise.

Parametreler

timer: Yazdırılacak zamanı tanımlayan time_t değişkenini gösteren bir işaretçidir.

buf: En az 26 byte uzunluğunda kullanıcı tarafından sağlanan belleği gösteren bir işaretçidir.

bufsz: Kullanıcı tarafından sağlanan belleğin boyutudur.

Dönüş değeri

Asctime() fonksiyonu time_t yapısındaki bir zamanı boş bir karakterler sonlandırılmış karakter dizisi halinde geri döndürür.

Asctime_s() fonksiyonu başarı durumunda 0 değerini, hata durumunda sıfır olmayan değer geri döndürür. Hata durumunda ayrıca, buf NULL bir işaretçi değilse veya bufsz sıfır değilse veya RSIZE_MAX değerinden büyük değil ise, buf[0] adresine 0 değerini yazar.

Örnek


#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t time_1970;

    time_1970 = time(NULL);

    /* Yerel zamanı doğrudan ctime() fonksiyonu ile ekrana yazma */
    /* ctime() = localtime() + asctime() */
    printf("Yerel zaman: %s", ctime(&time_1970));

    return 0;
}


Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar.

Yerel zaman: Tue Oct 15 07:06:21 2019

Program time() fonksiyonu ile 1 Ocak 1970'den bugüne geçen zamanı saniye olarak alır. Bu değeri ctime() fonksiyonu ile yerel zamana çevirerek bir karakter dizisi olarak ekrana yazar.