C語言中,如何獲取系統時間?

C語言中,如何獲取系統時間?使用者63541883838032019-11-14 10:34:10

程式主要通過當前系統日曆的struct tm結構體獲得,主要程式碼如下,

#include

#include

//程式功能輸出當前時間在24H下的小時數

int main(int argc, char *argv[])

{

struct tm *ptr;

time_t lt;

time(<);//當前系統時間

ptr=localtime(<);//獲取本地日曆時間指標

printf(“hour=%d(24H )\n”,ptr->tm_hour);//輸出24H下的小時數

return 0;

}

結構體tm定義如下,

struct tm {

int tm_sec; /* 秒–取值區間為[0,59] */

int tm_min; /* 分 - 取值區間為[0,59] */

int tm_hour; /* 時 - 取值區間為[0,23] */

int tm_mday; /* 一個月中的日期 - 取值區間為[1,31] */

int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區間為[0,11] */

int tm_year; /* 年份,其值從1900開始 */

int tm_wday; /* 星期–取值區間為[0,6],其中0代表星期天,1代表星期一,以此類推 */

int tm_yday; /* 從每年的1月1日開始的天數–取值區間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */

int tm_isdst; /* 夏令時識別符號,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候,tm_isdst為0;不瞭解情況時,tm_isdst()為負。*/

long int tm_gmtoff; /*指定了日期變更線東面時區中UTC東部時區正秒數或UTC西部時區的負秒數*/

const char *tm_zone; /*當前時區的名字(與環境變數TZ有關)*/

};