[C] 取得目前時間 gettimeofday()

在 C 語言中,我們可以用 gettimeofday 函數來取得系統時間。精確度至微秒

使用 gettimeofday() 函數要 include 以下兩個標頭檔

#include <sys/time.h>
#include <unistd.h>

回傳兩個結構 timeval (目前時間) 與 timezone,相關訊息如下

int gettimeofday (struct timeval * tv, struct timezone * tz);
    //成功return 1,失敗return 0
    struct timeval{
    long tv_sec;  //秒
    long tv_usec;  //微秒
};

struct timezone
{
    int tz_minuteswest;  //和格林威治時間差了幾分鐘
    int tz_dsttime;  //日光節約時間狀態
};

範例

#include <sys/time.h>
#include <unistd.h>
main(){
    struct timeval tv;
    struct timezone tz;
    gettimeofday (&tv, &tz);
    printf("tv_sec; %d\n", tv.tv_sec);
    printf("tv_usec; %d\n", tv.tv_usec);
    printf("tz_minuteswest; %d\n", tz.tz_minuteswest);
    printf("tz_dsttime, %d\n", tz.tz_dsttime);
}

參考資料

C 語言 gettimeofday 函數:獲取當前時間

樂於分享、盡情玩耍的全端工程師。長期關注資訊安全、雲端運算與網路行銷等議題,曾獲得玉山黑客松金牌,擔任過軟體測試實習生、技術文案寫手。

發表迴響