欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言時(shí)間函數(shù)的寫法 C語言時(shí)間類型

c語言時(shí)間函數(shù)!!

time_t nowtime; -- 聲明變量 nowtime(現(xiàn)在時(shí)間) 為 time_t 型

我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鄂托克ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鄂托克網(wǎng)站制作公司

struct tm *timeinfo; -- 聲明變量timeinfo(時(shí)間信息)為 tm 型 結(jié)構(gòu) 指針。

time_t , tm 都是 time.h 頭文件里定義 的 類型。

time( nowtime ); -- 調(diào)系統(tǒng)函數(shù) time(), 獲得 現(xiàn)在時(shí)間 (1970年起多少個(gè)“滴答”,世界標(biāo)準(zhǔn)時(shí)間)

timeinfo = localtime( nowtime ); -- 調(diào)系統(tǒng)函數(shù), 獲得 當(dāng)?shù)?現(xiàn)在時(shí)間 (例如 東8 區(qū),北京時(shí)間)。時(shí)間數(shù)據(jù)是 tm 型 結(jié)構(gòu)。

int hour; -- 聲明變量 hour (小時(shí)),整型。

hour = timeinfo-tm_hour+1 ; -- 結(jié)構(gòu) timeinfo的成員tm_hour 是時(shí)間值,+1 得 hour(小時(shí))。

tm_hour -- 數(shù)值范圍 0-23。

c語言 時(shí)間函數(shù)

CLOCK()函數(shù):

clock()是C/C++中的計(jì)時(shí)函數(shù),而與其相關(guān)的數(shù)據(jù)類型是clock_t。在MSDN中,查得對(duì)clock函數(shù)定義如下:

clock_t

clock(void)

;

這個(gè)函數(shù)返回從“開啟這個(gè)程序進(jìn)程”到“程序中調(diào)用clock()函數(shù)”時(shí)之間的CPU時(shí)鐘計(jì)時(shí)單元(clock

tick)數(shù),在MSDN中稱之為掛鐘時(shí)間(wal-clock);若掛鐘時(shí)間不可取,則返回-1。其中clock_t是用來保存時(shí)間的數(shù)據(jù)類型,在time.h文件中,我們可以找到對(duì)它的定義:

#ifndef

_CLOCK_T_DEFINED

typedef

long

clock_t;

#define

_CLOCK_T_DEFINED

#endif

很明顯,clock_t是一個(gè)長整形數(shù)。在time.h文件中,還定義了一個(gè)常量CLOCKS_PER_SEC,它用來表示一秒鐘會(huì)有多少個(gè)時(shí)鐘計(jì)時(shí)單元,其定義如下:

#define

CLOCKS_PER_SEC

((clock_t)1000)

可以看到每過千分之一秒(1毫秒),調(diào)用clock()函數(shù)返回的值就加1。下面舉個(gè)例子,你可以使用公式clock()/CLOCKS_PER_SEC來計(jì)算一個(gè)進(jìn)程自身的運(yùn)行時(shí)間:

void

elapsed_time()

{

printf("Elapsed

time:%u

secs.\n",clock()/CLOCKS_PER_SEC);

}

當(dāng)然,你也可以用clock函數(shù)來計(jì)算你的機(jī)器運(yùn)行一個(gè)循環(huán)或者處理其它事件到底花了多少時(shí)間:

#include

stdio.h

#include

stdlib.h

#include

time.h

int

main(void)

{

long

i

=

10000000L;

clock_t

start,

finish;

double

duration;

/*

測量一個(gè)事件持續(xù)的時(shí)間*/

printf(

"Time

to

do

%ld

empty

loops

is

",

i)

;

start

=

clock();

while(

i--

);

finish

=

clock();

duration

=

(double)(finish

-

start)

/

CLOCKS_PER_SEC;

printf(

"%f

seconds\n",

duration

);

system("pause");

}

在筆者的機(jī)器上,運(yùn)行結(jié)果如下:

Time

to

do

10000000

empty

loops

is

0.03000

seconds

上面我們看到時(shí)鐘計(jì)時(shí)單元的長度為1毫秒,那么計(jì)時(shí)的精度也為1毫秒,那么我們可不可以通過改變CLOCKS_PER_SEC的定義,通過把它定義的大一些,從而使計(jì)時(shí)精度更高呢?通過嘗試,你會(huì)發(fā)現(xiàn)這樣是不行的。在標(biāo)準(zhǔn)C/C++中,最小的計(jì)時(shí)單位是一毫秒。

time_t

time(

time_t

*timer

);

返回值是1970年到現(xiàn)在的秒數(shù)

用long型接就可以了

參數(shù)也是同樣意義

long

time_s

=

0;

time_s

=

time(

NULL

);

//

time_s就是1970年到現(xiàn)在的秒數(shù)

或者

long

*

time_s

=

NULL;

time(time_s);

//

*time_s就是1970年到現(xiàn)在的秒數(shù)

要計(jì)算前后一段時(shí)間的話之前取一次time,之后取一次相減就知道用了多少秒了

C語言時(shí)間函數(shù)time_t

1、time_t // 時(shí)間類型(time.h 定義)?

struct tm { // 時(shí)間結(jié)構(gòu),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 ); // 獲取時(shí)間,以秒計(jì),從1970年1月一日起算,存于rawtime?

localtime ( rawtime ); //轉(zhuǎn)為當(dāng)?shù)貢r(shí)間,tm 時(shí)間結(jié)構(gòu)?

asctime() // 轉(zhuǎn)為標(biāo)準(zhǔn)ASCII時(shí)間格式:?

//就是直接打印tm,tm_year 從1900年計(jì)算,所以要加1900,月tm_mon,從0計(jì)算,所以要加1

2、time函數(shù)使用示例

#include?stdio.h??

#include?time.h????

int?main()

{??

time_t?rawtime;??

struct?tm?*?timeinfo;??

time?(?rawtime?);??

timeinfo?=?localtime?(?rawtime?);??

printf?(?"The?current?date/time?is:?%s",?asctime?(timeinfo)?);??

return?0;

}

C語言的時(shí)間函數(shù)

C語言的建時(shí)間函數(shù)是 mktime(),原型在 time.h 里

調(diào)用有點(diǎn)繁。

下面,用我的程序輸入 年月日時(shí)分秒,調(diào)用mktime(), 就得 C語言 可直接使用的 時(shí)間, 存放在 t 里。

例如 輸入年月日時(shí)分秒: 2008 8 16 9 55 25

time_t t; 里 就有了 各種時(shí)間信息,例如星期幾...

#include stdio.h

#include time.h

void main(){

struct tm *target_time;

time_t rawtime, t;

int year,month,mday,hh,mm,ss;

time ( rawtime );

target_time = localtime ( rawtime );

printf("Please enter year month day hour minute second\n");

printf("For example: \n");

printf("2008 8 16 9 55 25\n");

scanf("%d %d %d %d %d %d", year, month, mday, hh,mm,ss);

target_time-tm_year = year - 1900;

target_time-tm_mon= month - 1;

target_time-tm_mday = mday ;

target_time-tm_hour = hh ;

target_time-tm_min = mm ;

target_time-tm_sec = ss ;

//

t = mktime (target_time);

// t is ready to use

printf("%s ",ctime(t));

}

如何用C語言編寫一個(gè)顯示時(shí)間的函數(shù),要求時(shí)間顯示精度到毫秒級(jí)別。

#include cstdio

#include ctime

using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void printTime() {

struct tm t;? ?//tm結(jié)構(gòu)指針

time_t now;? //聲明time_t類型變量

time(now);? ? ? //獲取系統(tǒng)日期和時(shí)間

localtime_s(t, now);? ?//獲取當(dāng)?shù)厝掌诤蜁r(shí)間

? ?//格式化輸出本地時(shí)間

printf("年-月-日-時(shí)-分-秒:%d-%d-%d %d:%d:%d\n", t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);

}

int main(int argc, char** argv) {

printTime();

}

分享名稱:c語言時(shí)間函數(shù)的寫法 C語言時(shí)間類型
分享URL:http://chinadenli.net/article26/hghijg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站標(biāo)簽優(yōu)化做網(wǎng)站全網(wǎng)營銷推廣靜態(tài)網(wǎng)站網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)