9.26. time.h
: Tarih Ve Saat
Bu dosya, zaman yordamları için bildirimler
ile, size_t
ve sırasıyla clock
ve
time
fonksiyonları tarafından döndürülen, uygulamaya bağlı
clock_t
ve time_t
tiplerinin tanımlarını içerir.
Ayrıca, localtime
ve gmtime
yordamları tarafından
döndürülüp asctime
tarafından kullanılan yapı şöyle
tanımlanmaktadır:
struct tm { int tm_sec; /* dakikadan sonraki saniyeler: [0-60] */ int tm_min; /* saatten sonraki dakikalar: [0-59] */ int tm_hour; /* geceyarısından beri saatler: [0-23] */ int tm_mday; /* ayın günü: [1-31] */ int tm_mon; /* Ocak’tan beri aylar: [0-11] */ int tm_year; /* 1900’dan beri yıllar */ int tm_wday; /* Pazar’dan beri günler: [0-6] */ int tm_yday; /* Ocak 1’den beri günler: [0-365] */ int tm_isdst; /* Yaz Saati Uygulaması bayrağı: [-1/0/1] */ }
Diğer bir yapı da, belirli bir zamandan itibaren saniye ve
nanosaniye cinsinden geçen süreyi tutabilecek olan
struct timespec
’dir:
struct timespec { time_t tv_sec; /* tam saniyeler: ≥ 0 */ long tv_nsec; /* nanosaniyeler: [0-999999999] */ }
Bu dosyada tanımlanan CLOCKS_PER_SEC
makrosu,
ifadesi
aracılığıyla, saniye cinsinden işlemci zamanını elde etmek için
kullanılabilir. Sıfırdan büyük bir değere eşit olarak tanımlanan
clock()/CLOCKS_PER_SEC
TIME_UTC
makrosu ise timespec_get
fonksiyona
parametre olarak verildiğinde UTC zamanı ifade eder.
Zaman işleme ile ilgili fonksiyon prototipleri:
clock_t clock(void) double difftime(time_t z1, time_t z2) time_t mktime(struct tm * zg) time_t time(time_t * z) int timespec_get(struct timespec * zy, int t)
Dönüşüm ile ilgili fonksiyon prototipleri:
char * asctime(const struct tm * zg) char * ctime(const time_t * z) struct tm * gmtime(const time_t * z) struct tm * localtime(const time_t * z) size_t strftime(char * restrict kd, size_t mu, const char * restrict b, const struct tm * restrict zg)