1.
可以用
localtime
函式分別獲取年月日時分秒的數值。
在所有的unix下,都有個time()的函式;
格式:time_t time(time_t *t);
這個函式會傳回格林尼治時間,如果t是non-null,它將會把時間值填入t中。
#include #include int main()
說明:
time
函式讀取現在的時間
(國際標準時間,而非北京時間
),然後傳值給
now;
localtime()函式將國際標準時間轉化為本地時間(本地所設地區),返回結果給timenow;
asctime()函式將tm結構體型別的轉化為字元;
2. 可以用gettimeofday()函式獲取精確時間(精確到毫秒)
對某些需要較高精準度的需求,linux提供了gettimeofday()。
格式:int gettimeofday(struct timeval * tv,struct timezone *tz);
gettimeofday()會把目前的時間有tv所指的結構返回,當地時區的資訊則放到tz所指的結構中。
示例:
#include #include #include bool time_subtract(struct timeval * result, struct timeval * x, struct timeval * y)
int main()
gettimeofday(&stop, 0);
time_subtract(&diff, &start, &stop);
printf("共用時%d ms\n",diff.tv_usec);
}
常用的資料型別:
time_t 一般用來儲存國際化時間,用time()函式可直接獲取到;
結構體:tm 一般用來儲存本地時間,可通過將time_t格式轉化而來;
結構體:time_val 一般用來儲存計數型的時間(秒/毫秒);
常用的時間函式及標頭檔案:
包含標頭檔案:#include
1. 功能:將時間轉化為字元
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);
2. 功能:將time_t型別轉為tm結構體
struct tm *gmtime(const time_t *timep);
struct tm *gmtime_r(const time_t *timep, struct tm *result);
3. 功能:將國際時間轉為本地時間
struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
包含標頭檔案:#include
//獲取時間
int gettimeofday(struct timeval *tv, struct timezone *tz);
//設定時間
int settimeofday(const struct timeval *tv, const struct timezone *tz);
附加:
1. 結構體:tm
struct tm
; tm_sec表「秒」數,在[0,61]之間,多出來的兩秒是用來處理跳秒問題用的。
tm_min表「分」數,在[0,59]之間。
tm_hour表「時」數,在[0,23]之間。
tm_mday表「本月第幾日」,在[1,31]之間。
tm_mon表「本年第幾月」,在[0,11]之間。
tm_year要加1900表示那一年。
tm_wday表「本第幾日」,在[0,6]之間。
tm_yday表「本年第幾日」,在[0,365]之間,閏年有366日。
tm_isdst表是否為「日光節約時間」。
2. 結構體:timeval
struct timeval;
tv_sec表示從凌晨開始算起的秒數;
tv_usec表示從凌晨算起的毫秒數;
Linux下的時間結構及函式
1 時間型別。linux下常用的時間型別有4個 time t,struct timeb,struct timeval,struct timespec,clock t,struct tm.1 time t是乙個長整型,一般用來表示用1970年以來的秒數.該型別定義在中.一般通過 time t time...
linux下獲取時間函式
1 gettimeofday 獲取的時間為從1970 1 1 00 00 00到目前為止的時間。當使用該函式獲取ms級別時間時,需注意溢位問題。1 首先來看一下函式原型 int gettimeofday struct timeval tv,struct timezone tz 其中結構體struct...
linux下獲取系統時間及顯示
include size t strtime char buf,size t max const char format,const struct tm tm strtime函式將獲取的放在tm中的時間引數,按照format設定的時間顯示模式,轉化成字串放到buf快取中。max為buf最大長度。fo...