[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 函數:獲取當前時間

Jerry
Jerry

樂於分享的軟體工程師,曾在新創與大型科技公司實習,獲得黑客松競賽冠軍,擔任資安研討會講者。長期熱衷於資訊安全、雲端服務、網路行銷等領域,希望將科技知識分享給更多人。內容轉載請來信:jlee58tw@gmail.com

發表回應