Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

SDL3 Oyun Programlama sayfalarımız yayında...

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

timespec_get() fonksiyonu

Bildirim

int timespec_get(struct timespec *ts, int base); (C11)

Açıklama

Ts parametresi ile gösterilen timespec değişkeni içindeki değerlere base parametresi ile gösterilen zaman dilimine göre değer verir.

Eğer base parametre değeri TIME_UTC ise, ts->tv_sec değeri 1 Ocak 1970'den bugüne geçen zamanı saniye olarak alır. ts->tv_nsec değeri ise, sistem saatine göre yuvarlanarak, integral nanosaniye sayısını alır.

Parametreler

ts: Timespec yapı değişkenini gösteren bir işaretçidir.

base: Zaman dilimini gösteren TIME_UTC veya sıfır olmayan farklı bir değerdir.

Dönüş değeri

Base parametresine göre zaman değerini aksi takdirde 0 değerini geri döndürür.

Örnek


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

int main(void)
{
    struct timespec ts;
    char cdizi[100];

    timespec_get(&ts, TIME_UTC);

    printf("Saniye: %ld\n", ts.tv_sec);
    printf("Nanosaniye: %09ld\n", ts.tv_nsec);

    strftime(cdizi, sizeof(cdizi), "Bugün: %d %B %Y %A Saat: %X", gmtime(&ts.tv_sec));
    printf("%s.%09ld UTC\n", cdizi, ts.tv_nsec);

    return 0;
}

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

Saniye: 1571196627
Nanosaniye: 786496858
Bugün: 16 October 2019 Wednesday Saat: 03:30:27.786496858 UTC

Program timespec_get() fonksiyonu ile 1 Ocak 1970'den bugüne geçen zamanı UTC zaman dilimine göre saniye ve nanosaniye olarak alır. Bu değerleri ekrana yazdıktan sonra, gmtime() fonksiyonu ile tm yapısına çevirerek strftime() fonksiyonu ile zaman karakter dizisini kullanıcı tanımlı olarak yapılandırır. Bu zaman yapısını nanosaniye değeri ile birleştirerek ekrana yazar.