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

c語言gettime

發布時間: 2022-07-05 08:02:39

『壹』 c語言時鍾代碼

#include<graphics.h> /* 引入graphic.h */
#include<math.h> /* 引入math.h */
#include<dos.h> /* 引入dos.h */
#define pi 3.1415926 /*定義pi=3.14159*/
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) /*定義……*/
void init() /*初始化程序*/
{int i,l,x1,x2,y1,y2; /*定義……*/
setbkcolor(1); /*設置顏色*/
circle(300,240,200); /*作園*/
circle(300,240,205);
circle(300,240,5);
for(i=0;i<60;i++) /*循環(算時間)*/
{if(i%5==0) l=15;
else l=5;
x1=200*cos(i*6*pi/180)+300;
y1=200*sin(i*6*pi/180)+240;
x2=(200-l)*cos(i*6*pi/180)+300;
y2=(200-l)*sin(i*6*pi/180)+240;
line(x1,y1,x2,y2);
}
}
main()
{
int x,y;
int gd=VGA,gm=2;
unsigned char h,m,s; /*定義*/
struct time t[1];
initgraph(&gd,&gm,"d:\\tc");
init();
setwritemode(1);
gettime(t);
h=t[0].ti_hour;
m=t[0].ti_min;
s=t[0].ti_sec; /*定義時分秒*/
setcolor(7); /*設置顏色*/
d(150,h,30);
setcolor(14);
d(170,m,6);
setcolor(4);
d(190,s,6);
while(!kbhit()) /*獲取鍵盤相應*/
{while(t[0].ti_sec==s)
gettime(t); /*C語言中得到時間的函數*/
sound(400); /*計算時間……*/
delay(70);
sound(200);
delay(30);
nosound();
setcolor(4);
d(190,s,6);
s=t[0].ti_sec;
d(190,s,6);
if (t[0].ti_min!=m)
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if (t[0].ti_hour!=h)
{ setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
sound(1000);
delay(240);
nosound();
delay(140);
sound(2000);
delay(240);
nosound();
}
}
getch(); /*設置空格後退出*/
closegraph();
}

具體的。。就是套用用幾個函數算時間。。
不要對這種很長的東西害怕,其實大部分都是在畫這個鍾~
加油哦~

『貳』 C語言中的gettime()是在哪個頭文件里

沒有這個函數,但是你可以看看下面:
==========================================
C語言的標准庫函數包括一系列日期和時間處理函數,它們都在頭文件中說明。下面列出了這些函數。在頭文件中定義了三種類型:time_t,struct tm和clock_t。

在中說明的C語言時間函數

time_t time(time_t *timer);

double difftime(time_t time1,time_t time2);

struct tm *gmtime(const time_t *timer);

struct tm *localtime(const time_t *timer);

char *asctime(const struct tm *timeptr);

char *ctime(const time_t *timer);

size_t strftime(char *s,size_t maxsize,const char *format,const struct tm *timeptr);

time_t mktime(struct tm *timeptr);

clock_t clock(void);

下面是我從網上收集到的時間函數集

asctime(將時間和日期以字元串格式表示)

相關函數

time,ctime,gmtime,localtime

表頭文件

#include

定義函數

char * asctime(const struct tm * timeptr);

函數說明

asctime()將參數timeptr所指的tm結構中的信息轉換成真實世界所使用的時間日期表示方法,然後將結果以字元串形態返回。此函數已經由時區轉換成當地時間,字元串格式為:"Wed Jun 30 21:49:08 1993\n"

返回值

若再調用相關的時間日期函數,此字元串可能會被破壞。此函數與ctime不同處在於傳入的參數是不同的結構。

附加說明

返回一字元串表示目前當地的時間日期。

範例

#include

main()

{

time_t timep;

time (&timep);

printf("%s",asctime(gmtime(&timep)));

}

執行

Sat Oct 28 02:10:06 2000

ctime(將時間和日期以字元串格式表示)

相關函數

time,asctime,gmtime,localtime

表頭文件

#include

定義函數

char *ctime(const time_t *timep);

函數說明

ctime()將參數timep所指的time_t結構中的信息轉換成真實世界所使用的時間日期表示方法,然後將結果 以字元串形態返回。此函數已經由時區轉換成當地時間,字元串格式為"Wed Jun 30 21 :49 :08 1993\n"。若再調用相關的時間日期函數,此字元串可能會被破壞。

返回值

返回一字元串表示目前當地的時間日期。

範例

#include

main()

{

time_t timep;

time (&timep);

printf("%s",ctime(&timep));

}

執行

Sat Oct 28 10 : 12 : 05 2000

gettimeofday(取得目前的時間)

相關函數

time,ctime,ftime,settimeofday

表頭文件

#include

#include

定義函數

int gettimeofday ( struct timeval * tv , struct timezone * tz )

函數說明

gettimeofday()會把目前的時間有tv所指的結構返回,當地時區的信息則放到tz所指的結構中。

timeval結構定義為:

struct timeval{

long tv_sec; /*秒*/

long tv_usec; /*微秒*/

};

timezone 結構定義為:

struct timezone{

int tz_minuteswest; /*和Greenwich 時間差了多少分鍾*/

int tz_dsttime; /*日光節約時間的狀態*/

};

上述兩個結構都定義在/usr/include/sys/time.h。tz_dsttime 所代表的狀態如下

DST_NONE /*不使用*/

DST_USA /*美國*/

DST_AUST /*澳洲*/

DST_WET /*西歐*/

DST_MET /*中歐*/

DST_EET /*東歐*/

DST_CAN /*加拿大*/

DST_GB /*大不列顛*/

DST_RUM /*羅馬尼亞*/

DST_TUR /*土耳其*/

DST_AUSTALT /*澳洲(1986年以後)*/

返回值

成功則返回0,失敗返回-1,錯誤代碼存於errno。附加說明EFAULT指針tv和tz所指的內存空間超出存取許可權。

範例

#include

#include

main(){

struct timeval tv;

struct timezone tz;

gettimeofday (&tv , &tz);

printf("tv_sec; %d\n", tv,.tv_sec) ;

printf("tv_usec; %d\n",tv.tv_usec);

printf("tz_minuteswest; %d\n", tz.tz_minuteswest);

printf("tz_dsttime, %d\n",tz.tz_dsttime);

}

執行

tv_sec: 974857339

tv_usec:136996

tz_minuteswest:-540

tz_dsttime:0

gmtime(取得目前時間和日期)

相關函數

time,asctime,ctime,localtime

表頭文件

#include

定義函數

struct tm*gmtime(const time_t*timep);

函數說明

gmtime()將參數timep 所指的time_t 結構中的信息轉換成真實世界所使用的時間日期表示方法,然後將結果由結構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;

};

int tm_sec 代表目前秒數,正常范圍為0-59,但允許至61秒

int tm_min 代表目前分數,范圍0-59

int tm_hour 從午夜算起的時數,范圍為0-23

int tm_mday 目前月份的日數,范圍01-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 日光節約時間的旗標

此函數返回的時間日期未經時區轉換,而是UTC時間。

返回值

返回結構tm代表目前UTC 時間

範例

#include

main(){

char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

time_t timep;

struct tm *p;

time(&timep);

p=gmtime(&timep);

printf("%d%d%d",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);

printf("%s%d;%d;%d\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);

}

執行

2000/10/28 Sat 8:15:38

localtime(取得當地目前時間和日期)

相關函數

time, asctime, ctime, gmtime

表頭文件

#include

定義函數

struct tm *localtime(const time_t * timep);

函數說明

localtime()將參數timep所指的time_t結構中的信息轉換成真實世界所使用的時間日期表示方法,然後將結果由結構tm返回。結構tm的定義請參考gmtime()。此函數返回的時間日期已經轉換成當地時區。

返回值

返回結構tm代表目前的當地時間。

範例

#include

main(){

char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

time_t timep;

struct tm *p;

time(&timep);

p=localtime(&timep); /*取得當地時間*/

printf ("%d%d%d ", (1900+p->tm_year),( l+p->tm_mon), p->tm_mday);

printf("%s%d:%d:%d\n", wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);

}

執行

2000/10/28 Sat 11:12:22

mktime(將時間結構數據轉換成經過的秒數)

相關函數

time,asctime,gmtime,localtime

表頭文件

#include

定義函數

time_t mktime(strcut tm * timeptr);

函數說明

mktime()用來將參數timeptr所指的tm結構數據轉換成從公元1970年1月1日0時0分0 秒算起至今的UTC時間所經過的秒數。

返回值

返回經過的秒數。

範例

/* 用time()取得時間(秒數),利用localtime()

轉換成struct tm 再利用mktine()將struct tm轉換成原來的秒數*/

#include

main()

{

time_t timep;

strcut tm *p;

time(&timep);

printf("time() : %d \n",timep);

p=localtime(&timep);

timep = mktime(p);

printf("time()->localtime()->mktime():%d\n",timep);

}

執行

time():974943297

time()->localtime()->mktime():974943297

settimeofday(設置目前時間)

相關函數

time,ctime,ftime,gettimeofday

表頭文件

#include

#include

定義函數

int settimeofday ( const struct timeval *tv,const struct timezone *tz);

函數說明

settimeofday()會把目前時間設成由tv所指的結構信息,當地時區信息則設成tz所指的結構。詳細的說明請參考gettimeofday()。注意,只有root許可權才能使用此函數修改時間。

返回值

成功則返回0,失敗返回-1,錯誤代碼存於errno。

錯誤代碼

EPERM 並非由root許可權調用settimeofday(),許可權不夠。

EINVAL 時區或某個數據是不正確的,無法正確設置時間。

time(取得目前的時間)

相關函數

ctime,ftime,gettimeofday

表頭文件

#include

定義函數

time_t time(time_t *t);

函數說明

此函數會返回從公元1970年1月1日的UTC時間從0時0分0秒算起到現在所經過的秒數。如果t 並非空指針的話,此函數也會將返回值存到t指針所指的內存。

返回值

成功則返回秒數,失敗則返回((time_t)-1)值,錯誤原因存於errno中。

範例

#include

mian()

{

int seconds= time((time_t*)NULL);

printf("%d\n",seconds);

}

『叄』 c語言 更改系統時間(settime)程序

函數名: settime
功 能: 設置系統時間
用 法: void settime(struct time *timep);
程序例:

#include <stdio.h>
#include <dos.h>

int main(void)
{
struct time t;

gettime(&t);
printf("The current minute is: %d\n", t.ti_min);
printf("The current hour is: %d\n", t.ti_hour);
printf("The current hundredth of a second is: %d\n", t.ti_hund);
printf("The current second is: %d\n", t.ti_sec);

/* Add one to the minutes struct element and then call settime */
t.ti_min++; //在這個地方就可以控制你要改的時間的分,以此同!
settime(&t);

return 0;
}

『肆』 如何用C語言獲取當前系統時間

需要利用C語言的時間函數time和localtime,具體說明如下:

一、函數介面介紹:

1、time函數。

形式為time_t time (time_t *__timer);

其中time_t為time.h定義的結構體,一般為長整型。

這個函數會獲取當前時間,並返回。 如果參數__timer非空,會存儲相同值到__timer指向的內存中。

time函數返回的為unix時間戳,即從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。

由於是秒作為單位的,所以這並不是習慣上的時間,要轉為習慣上的年月日時間形式就需要另外一個函數了。

2、localtime函數。

形式為struct tm *localtime (const time_t *__timer);

其中tm為一個結構體,包含了年月日時分秒等信息。

這種結構是適合用來輸出的。

二、參考代碼:

#include<stdio.h>
#include<time.h>
intmain()
{
time_tt;
structtm*lt;
time(&t);//獲取Unix時間戳。
lt=localtime(&t);//轉為時間結構。
printf("%d/%d/%d%d:%d:%d ",lt->tm_year+1900,lt->tm_mon,lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec);//輸出結果
return0;
}

注意事項:

struct tm中的tm_year 值為實際年減去1900, 所以輸出的時候要是lt->tm_year+1900。

『伍』 求c語言大神指點 gettime函數的使用 ,用來編輯個時鍾

你的代碼沒有錯,在DOS的C下沒有問題。但DOS的有些時間函數在C++編譯器下已經無效了。可嘗試用下面的——
#include "stdio.h"
#include "time.h"
#include <DOS.H>
void main(void){
struct tm *pt;
time_t t;
t=time(NULL);
pt=localtime(&t);
printf("The current time is: %2d:%02d:%02d\n",
pt->tm_hour, pt->tm_min, pt->tm_sec);
}
但tm結構沒有ms級變數。

『陸』 請問在C語言里怎麼獲取當前時間和日期(精確到毫秒)

先申明下,這個是我轉網路知道的,經常BAIDU一下,就OK了
#include <stdio.h>
#include <time.h>

void main ()
{
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );

exit(0);
}

=================
#include <time.h> -- 必須的時間函數頭文件
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時間格式:
星期 月 日 時:分:秒 年
=========================================
你要的格式可這樣輸出:
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);

就是直接列印tm,tm_year 從1900年計算,所以要加1900,
月tm_mon,從0計算,所以要加1
其它你一目瞭然啦。

『柒』 C語言如何獲取本地時間,然後取時、分、秒的值

#include <stdio.h>

#include <time.h>

int main()

{time_t timep;

struct tm *tp;

time(&timep);

int p;

tp = localtime(&timep); //取得系統時間

printf("Today is %d-%d-%d ", (1900 + tp->tm_year), (1 + tp->tm_mon), tp->tm_mday);

printf("Now is %d:%02d:%02d ", tp->tm_hour, tp->tm_min, tp->tm_sec);

p=tp->tm_sec;

printf("p=%d ",p);

return 0;

}

『捌』 c語言裡面gettime函數如何調用

使用C語言編寫程序需要獲得當前精確時間(1970年1月1日到現在的時間),或者為執行計時,可以使用gettimeofday()函數。
用 法: void gettime(struct time *timep);

C語言函數
#include <sys/time.h>
int gettimeofday(struct timeval*tv, struct timezone *tz);
其參數tv是保存獲取時間結果的結構體,參數tz用於保存時區結果:
struct timezone{
int tz_minuteswest;/*格林威治時間往西方的時差*/
int tz_dsttime;/*DST 時間的修正方式*/
}
timezone 參數若不使用則傳入NULL即可。
而結構體timeval的定義為:
struct timeval{
long int tv_sec; // 秒數
long int tv_usec; // 微秒數
}
它獲得的時間精確到微秒(1e-6 s)量級。在一段代碼前後分別使用gettimeofday可以計算代碼執行時間:
struct timeval tv_begin, tv_end;
gettimeofday(&tv_begin, NULL);
foo();
gettimeofday(&tv_end, NULL);

『玖』 C語言里time結構體和gettime()函數包含在哪個頭文件里

二者均定義在time.h中。
1
在C語言中,為了操作簡單,減少引入頭文件的數量,相關功能的類型及函數均會定義在同一頭文件中,比如輸入輸出相關的均定義在stdio.h中,而時間相關的均定義在time.h中。
2
time結構體,即struct
time,
是用來存儲時間的結構體。
3
gettime函數,為獲取時間函數,其參數為struct
time
*類型。
另外,在不確定是存儲在哪個頭文件,即編程時不確定要引用哪個頭文件時,可以在系統頭文件文件夾中,進行全文搜索,從而得知要需要的頭文件,及對應的使用方式。

『拾』 求C語言一個時間函數,請高手解答!

函數名: gettime
功 能: 取得系統時間
用 法: void gettime(struct time *timep);
程序例:

#include <stdio.h>
#include <dos.h>

int main(void)
{
struct time t;

gettime(&t);
printf("The current time is: %2d:%02d:%02d.%02d\n",
t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
return 0;
}
用兩次分別獲取時間存放後做差就行了