當前位置:首頁 » 編程語言 » c語言時間函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言時間函數

發布時間: 2022-02-08 02:51:26

c語言計算時間函數

標准庫的time.h里有時間函數

time_t time (time_t *timer)
計算從1970年1月1日到當前系統時間,並把結果返回給timer變數,
函數本身返回的也是這個結果.time_t這個類型其實就是一個int.

另有:
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所儲存的時間的差.

⑵ c語言裡面時間函數如何用

#include <time.h>
#include <stdio.h>
#include <dos.h>
int main(void)
{
time_t timer;
struct tm *tblock;
timer = time(NULL);
tblock = localtime(&timer);
printf("Local time is: %s", asctime(tblock));
return 0;
}

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;
};

⑶ C語言時間函數time_t

1、time_t // 時間類型(time.h 定義)
struct tm { // 時間結構,time.h 定義如下:
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;
}
time ( &rawtime ); // 獲取時間,以秒計,從1970年1月一日起算,存於rawtime
localtime ( &rawtime ); //轉為當地時間,tm 時間結構
asctime() // 轉為標准ASCII時間格式:
//就是直接列印tm,tm_year 從1900年計算,所以要加1900,月tm_mon,從0計算,所以要加1

2、time函數使用示例

#include<stdio.h>
#include<time.h>
intmain()
{
time_trawtime;
structtm*timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
printf("Thecurrentdate/timeis:%s",asctime(timeinfo));

return0;
}

⑷ C語言中的時間

以前實際上用過,很想對C語言中的時間函數了解多一點,趁著這個寒假,查了些資料,大概把我現在能用到的關於時間的操作在此記錄下來。通過幾個函數來熟悉C語言中對時間的操作。(註:以下程序均在VS2010上編譯通過。)①time()函數。可以通過time()函數來獲得日歷時間。其原型為:time_ttime(time_t*timer);一般參數為空,返回值類型time_t是一個長整型數,函數將返回現在的日歷時間,即從一個時間點(所有不同版本的VisualC++都是從1970年1月1日0時0分0秒)到現在的經過的秒數。例子程序:#include<stdio.h>#include<time.h>voidmain(){time_tlt;lt=time(NULL);printf("1970年1月1日0時0分0秒到現在經歷了%ld秒\n",lt);}運行結果(結果與程序運行的時間有關,貼出我此時運行出的結果):1970年1月1日0時0分0秒到現在經歷了1326975564秒請按任意鍵繼續...②clock()函數。C語言中的計時函數。函數原型為:clock_tclock(void);clock()函數返回從「開啟這個程序進程」到「程序中調用clock()函數」時之間的CPU時鍾計時單元數。返回值類型clock_t也是一個長整型數。在time.h頭文件中定義了一個符號常量CLOCKS_PER_SEC,表示一秒鍾會有多少個計時單元。所以通過簡單的數學知識,可以知道在程序中用clock()/CLOCKS_PER_SEC來表示程序從開始到調用clock()函數時用了多少秒。例子程序:#include<stdio.h>#include<time.h>voidmain(){clock_tlt;for(inti=0;i<1000000000;i++);lt=clock();printf("循環執行1000000000個空操作需要%f秒\n",(double)lt/CLOCKS_PER_SEC);}運行結果(在不同的機器上運行的結果可能不一樣,下面是在我自己的筆記本上運行的結果):循環執行1000000000個空操作需要3.484000秒請按任意鍵繼續...③使用C庫函數來顯示日期和時間。首先要介紹一下C語言中的一個日期的結構體類型,tm類型。其在time.h中的定義如下:#ifndef_TM_DEFINEDstructtm{inttm_sec;inttm_min;inttm_hour;inttm_mday;inttm_mon;inttm_year;inttm_wday;inttm_yday;inttm_isdst;};#define_TM_DEFINED#endif然後可以介紹有關的函數了。time.h提供了兩種不同的函數將日歷時間(一個長整型數)轉換成我們平時看到的把年月日時分秒分開的時間格式:structtm*gmtime(consttime_t*timer);structtm*localtime(consttime_t*timer);其中gmtime()函數是將日歷時間轉換為世界標准時間(即格林尼治時間),並返回一個tm結構體來保存這個時間,而localtime()函數是將日歷時間轉換為本地時間(在中國地區獲得的本地時間會比世界標准時間晚8個小時)。例子程序:#include<stdio.h>#include<time.h>voidmain(){structtm*local;time_tt;t=time(NULL);local=localtime(&t);printf("現在北京時間是%d點\n",local->tm_hour);local=gmtime(&t);printf("世界標准時間是%d點\n",local->tm_hour);}運行結果(運行結果與運行的時間有關,我是在早上9點多鍾運行這個程序的):現在北京時間是9點世界標准時間是1點請按任意鍵繼續...這樣子我們就可以完全才輸出此刻的年月日時分秒了,當然需要逐個來輸出。其實C庫函數還提供了一個很有用的以固定的時間格式來輸出年月日時分秒的函數。這兩個函數原型如下:char*asctime(conststructtm*timeptr);char*ctime(consttime_t*timer);asctime()函數是通過tm結構來生成具有固定格式的保存時間信息的字元串,而ctime()是通過日歷時間來生成時間字元串。這樣下面的例子程序就容易理解了:#include<stdio.h>#include<time.h>voidmain(){structtm*local;time_tt;t=time(NULL);local=localtime(&t);printf(asctime(local));local=gmtime(&t);printf(asctime(local));printf(ctime(&t));}運行結果(我是在早上9點多運行這個程序的):FriJan2009:55:562012FriJan2001:55:562012FriJan2009:55:562012請按任意鍵繼續...C語言還可以以我們規定的各種形式來規定輸出時間的格式。要用到時可以查閱相關的資料,限於篇幅,就介紹到這里。④這里介紹計算持續的時間長度的函數。之前已經介紹了使用clock()函數的例子,它可以精確到毫秒級。其實我們也可以使用difftime()函數,但它只精確到秒。該函數的定義如下:doubledifftime(time_ttime1,time_ttime0);例子程序:#include<stdio.h>#include<time.h>#include<stdlib.h>voidmain(){time_tstart,end;start=time(NULL);for(inti=0;i<1000000000;i++);end=time(NULL);printf("這個循-環用了%f秒\n",difftime(end,start));}運行結果:這個循環用了3.000000秒請按任意鍵繼續...⑤最後介紹mktime()函數。原型如下:time_tmktime(structtm*timer);可以使用函數將用tm結構表示的時間轉換為日歷時間。其返回值就是轉換後的日歷時間。這樣我們就可以先制定一個分解時間,然後對這個時間進行操作。下面的例子用來計算2012年1月20日是星期幾:#include<time.h>#include<stdio.h>#include<stdlib.h>intmain(void){structtmt;time_tt_of_day;t.tm_year=2012-1900;t.tm_mon=0;t.tm_mday=20;t.tm_hour=0;t.tm_min=12;t.tm_sec=1;t.tm_isdst=1;t_of_day=mktime(&t);printf(ctime(&t_of_day));return0;}運行結果:FriJan2000:12:012012請按任意鍵繼續...

⑸ C語言中時間函數

#include <cstdlib>

int main()
{
system("date /t");
system("time /t");

system("PAUSE");
return EXIT_SUCCESS;
}

⑹ C語言函數的時間日期函數

函數庫為time.h、dos.h
在時間日期函數里,主要用到的結構有以下幾個:
總時間日期貯存結構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-11*/ │
│ int tm_year; /*自1900的年數*/ │
│ int tm_wday; /*自星期日的天數0-6*/ │
│ int tm_yday; /*自1月1日起的天數,0-365*/ │
│ int tm_isdst; /*是否採用夏時制,採用為正數*/│
│} │
└──────────────────────┘
日期貯存結構date
┌───────────────┐
│struct date │
│{ │
│ int da_year; /*自1900的年數*/│
│ char da_day; /*天數*/ │
│ char da_mon; /*月數 1=Jan*/ │
│} │
└───────────────┘
時間貯存結構time
┌────────────────┐
│struct time │
│{ │
│ unsigned char ti_min; /*分鍾*/│
│ unsigned char ti_hour; /*小時*/│
│ unsigned char ti_hund; │
│ unsigned char ti_sec; /*秒*/ │
│ │
└────────────────┘char *ctime(long *clock)
本函數把clock所指的時間(如由函數time返回的時間)轉換成下列格式的
字元串:Mon Nov 21 11:31:54 1983
char *asctime(struct tm *tm)
本函數把指定的tm結構類的時間轉換成下列格式的字元串:
Mon Nov 21 11:31:54 1983
double difftime(time_t time2,time_t time1)
計算結構time2和time1之間的時間差距(以秒為單位)
struct tm *gmtime(long *clock)本函數把clock所指的時間(如由函數time返回的時間)
轉換成格林威治時間,並以tm結構形式返回
struct tm *localtime(long *clock)本函數把clock所指的時間(如函數time返回的時間)
轉換成當地標准時間,並以tm結構形式返回
void tzset()本函數提供了對UNIX操作系統的兼容性
long dostounix(struct date *dateptr,struct time *timeptr)
本函數將dateptr所指的日期,timeptr所指的時間轉換成UNIX格式,並返回
自格林威治時間1970年1月1日凌晨起到現在的秒數
void unixtodos(long utime,struct date *dateptr,struct time *timeptr)
本函數將自格林威治時間1970年1月1日凌晨起到現在的秒數utime轉換成
DOS格式並保存於用戶所指的結構dateptr和timeptr中
void getdate(struct date *dateblk)本函數將計算機內的日期寫入結構dateblk
中以供用戶使用
void setdate(struct date *dateblk)本函數將計算機內的日期改成
由結構dateblk所指定的日期
void gettime(struct time *timep)本函數將計算機內的時間寫入結構timep中,
以供用戶使用
void settime(struct time *timep)本函數將計算機內的時間改為
由結構timep所指的時間
long time(long *tloc)本函數給出自格林威治時間1970年1月1日凌晨至現在所經
過的秒數,並將該值存於tloc所指的單元中.
int stime(long *tp)本函數將tp所指的時間(例如由time所返回的時間)
寫入計算機中.

⑺ C語言裡面的時間函數怎麼用

函數名: difftime
功 能: 計算兩個時刻之間的時間差
用 法: double difftime(time_t time2, time_t time1);
程序例:

include <time.h>

⑻ 用c語言如何獲取系統當前時間的函數

1、C語言中讀取系統時間的函數為time(),其函數原型為:
#include <time.h>
time_t time( time_t * ) ;
time_t就是long,函數返回從1970年1月1日(MFC是1899年12月31日)0時0分0秒,到現在的的秒數。
2、C語言還提供了將秒數轉換成相應的時間格式的函數:
char * ctime(const time_t *timer); //將日歷時間轉換成本地時間,返回轉換後的字元串指針 可定義字元串或是字元指針來接收返回值
struct tm * gmtime(const time_t *timer); //將日歷時間轉化為世界標准時間(即格林尼治時間),返回結構體指針 可定義struct tm *變數來接收結果
struct tm * localtime(const time_t * timer); //將日歷時間轉化為本地時間,返回結構體指針 可定義struct tm *變數來接收結果
3、常式:
#include <time.h>
void main()
{
time_t t;
struct tm *pt ;
char *pc ;
time(&t);
pc=ctime(&t) ; printf("ctime:%s", pc );
pt=localtime(&t) ; printf("year=%d", pt->tm_year+1900 );
}

時間結構體struct 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()為負。*/
};

⑼ c語言調用時間函數

time_t t; /*定義一個time_t型(在time.h中有typedef long time_t;語句,由此可知,time_t類型也就是long類型)的變數*/

time(&t); /*將當前的日歷時間(即從1970-1-1到執行此語句時所經歷的秒數)保存到t中*/

printf("%s/n", ctime(&t)); /*ctime(&t)將把t所指向的日歷時間轉換為系統所提供的一個字元串,這個函數將返回這個字元串的基址,然後由printf語句將這個字元串輸出,從而得到現在的時刻*/
來源http://..com/question/32925135.html?si=1

⑽ C語言計算時間

在C語言中計算時間,可以使用標准庫中的計時函數——clock()。

函數原型:

clock_tclock(void);

其中clock_t是用來保存時間的數據類型,在time.h文件中,可以找到對它的定義:

#ifndef_CLOCK_T_DEFINED
typedeflongclock_t;
#define_CLOCK_T_DEFINED
#endif


很明顯,clock_t是一個長整形數。在time.h文件中,還定義了一個常量CLOCKS_PER_SEC,它用來表示一秒鍾會有多少個時鍾計時單元,其定義如下:

#defineCLOCKS_PER_SEC((clock_t)1000)

可以看到每過千分之一秒(1毫秒),調用clock()函數返回的值就加1。下面舉個例子,可以使用公式clock()/CLOCKS_PER_SEC來計算一個進程自身的運行時間:

voidelapsed_time()
{
printf("Elapsedtime:%usecs. ",clock()/CLOCKS_PER_SEC);
}

當然,也可以用clock函數來計算的機器運行一個循環或者處理其它事件到底花了多少時間:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--);
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;
printf("%fseconds ",ration);
system("pause");
}