linux系統編程之文件與IO:時間函數小結

從系統時鐘獲取時間方式ide

time函數介紹:
  1. 一、函數名稱: localtime
  2. 二、函數名稱: asctime
  3. 三、函數名稱: ctime
  4. 四、函數名稱: difftime
  5. 五、函數名稱: gmtime
  6. 六、函數名稱: time
  7. 七、函數名稱: tzset

 

time.h是C/C++中的日期和時間頭文件。 函數

代碼示例

# include <stdio.h>

#include <time.h> 指針

int main(void) htm

{ 字符串

time_t timer =time(NULL); get

printf("ctime is %s\n",ctime(&timer)); //獲得日曆時間 原型

return 0; it

} io

從系統時鐘獲取時間方式

time_t time(time_t* timer)

獲得從標準計時點(通常是1970年1月1日午夜)到當前時間的秒數。 class

clock_t clock(void)

獲得從程序啓動到這次函數調用時累計的毫秒數。

time函數介紹

一、函數名稱: localtime
函數原型: struct tm *localtime(const time_t *timer)

函數功能: 返回一個以tm結構表達的機器時間信息

函數返回: 以tm結構表達的時間,結構tm定義以下:

struct tm{

int tm_sec;

int tm_min;

int tm_hour;

int tm_mday;

int tm_mon;

int tm_year;

int tm_wday;

int tm_yday;

int tm_isdst;

};

參數說明: timer-使用time()函數得到的機器時間

所屬文件: <time.h>

#include <time.h>

#include <stdio.h>

#include <dos.h>

int main()

{

time_t timer;

struct tm *tblock;

timer=time(NULL);

tblock=localtime(&timer);

printf("Local time is: %s",asctime(tblock));

return 0;

}

二、函數名稱: asctime
函數原型: char* asctime(struct tm * ptr)

函數功能: 獲得機器時間(日期時間轉換爲ASCII碼)

函數返回: 返回的時間字符串格式爲:星期,月,日,小時:分:秒,年

參數說明: 結構指針ptr應經過函數localtime()和gmtime()獲得

三、函數名稱: ctime
函數原型: char *ctime(long time)

函數功能: 獲得日曆時間

函數返回: 返回字符串格式:星期,月,日,小時:分:秒,年

參數說明: time-該參數應由函數time得到

所屬文件: <time.h>

#include <stdio.h>

#include <time.h>

int main()

{

time_t t;

time(&t);

printf("Today's date and time: %s",ctime(&t));

return 0;

}

四、函數名稱: difftime
函數原型: double difftime(time_t time2, time_t time1)

函數功能: 獲得兩次機器時間差,單位爲秒

函數返回: 時間差,單位爲秒

參數說明: time1-機器時間一,time2-機器時間二.該參數應使用time函數得到

所屬文件: <time.h>

#include <time.h>

#include <stdio.h>

#include <dos.h>

#include <conio.h>

int main()

{

time_t first, second;

clrscr();

first=time(NULL);

delay(2000);

second=time(NULL);

printf("The difference is: %fseconds",difftime(second,first));

getch();

return 0;

}

五、函數名稱: gmtime
函數原型: struct tm *gmtime(time_t *time)

函數功能: 獲得以結構tm表示的時間信息

函數返回: 以結構tm表示的時間信息指針

參數說明: time-用函數time()獲得的時間信息

所屬文件: <time.h>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <dos.h>

char *tzstr="TZ=PST8PDT";

int main()

{

time_t t;

struct tm *gmt, *area;

putenv(tzstr);

tzset();

t=time(NULL);

area=localtime(&t);

printf("Local time is:%s", asctime(area));

gmt=gmtime(&t);

printf("GMT is:%s", asctime(gmt));

return 0;

}

六、函數名稱: time
函數原型: time_t time(time_t *timer)

函數功能: 獲得機器的日曆時間或者設置日曆時間

函數返回: 機器日曆時間

參數說明: timer=NULL時獲得機器日曆時間,timer=時間數值時,用於設置日曆時間,time_t是一個long類型

所屬文件: <time.h>

#include <time.h>

#include <stdio.h>

#include <dos.h>

int main()

{

time_t t;

t=time();

printf("The number of seconds since January 1,1970 is %ld",t);

return 0;

}

七、函數名稱: tzset
函數原型: void tzset(void)

函數功能: UNIX兼容函數,用於獲得時區,在DOS環境下無用途

函數返回:

參數說明:

所屬文件: <time.h>

#include <time.h>

#include <stdlib.h>

#include <stdio.h>

int main()

{

time_t td;

putenv("TZ=PST8PDT");

tzset();

time(&td);

printf("Current time=%s",asctime(localtime(&td)));

return 0;

}

相關文章
相關標籤/搜索