c語言調用系統時間函數的簡單介紹

看過來,看過來 C語言獲取系統時間的幾種方式

我們在寫C語言程序的時候,有的時候會用到讀取本機的時間和日期,怎么做呢?其實很簡單的,下面簡單說一下:

成都創新互聯是專業的夏河網站建設公司,夏河接單;提供網站設計制作、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行夏河網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

C語言中讀取系統時間的函數為time(),其函數原型為:#include time.htime_t time( time_t * ) ;

time_t就是long,函數返回從1970年1月1日(MFC是1899年12月31日)0時0分0秒,到現在的的秒數。

可以調用ctime()函數進行時間轉換輸出:char * ctime(const time_t *timer);

將日歷時間轉換成本地時間,按年月日格式,進行輸出,如:Wed Sep 23 08:43:03 2015C語言還提供了將秒數轉換成相應的時間結構的函數:

struct tm * gmtime(const time_t *timer);?//將日歷時間轉化為世界標準時間(即格林尼治時間)

struct tm * localtime(const time_t * timer);?//將日歷時間轉為本地時間將通過time()函數返回的值,轉成時間結構structtm :

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()為負。*/};

編程者可以根據程序功能的情況,靈活的進行日期的讀取與輸出了。

下面給出一段簡單的代碼:

#includetime.h

int?main()

{

time_t?timep;

struct?tm?*p;

time?(timep);

p=gmtime(timep);

printf("%d\n",p-tm_sec);?/*獲取當前秒*/

printf("%d\n",p-tm_min);?/*獲取當前分*/

printf("%d\n",8+p-tm_hour);/*獲取當前時,這里獲取西方的時間,剛好相差八個小時*/

printf("%d\n",p-tm_mday);/*獲取當前月份日數,范圍是1-31*/

printf("%d\n",1+p-tm_mon);/*獲取當前月份,范圍是0-11,所以要加1*/

printf("%d\n",1900+p-tm_year);/*獲取當前年份,從1900開始,所以要加1900*/

printf("%d\n",p-tm_yday);?/*從今年1月1日算起至今的天數,范圍為0-365*/

}

c語言調用系統時間

#include?stdio.h?

#include?time.h?

int?main()

{?

time_t?rawtime;?

struct?tm?*?timeinfo;?

time?(?rawtime?);?

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

printf?(?"當前系統時間:?%s",?asctime?(timeinfo)?);?

return?0;

}

說明:

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

C語言中調用系統時間

#include?stdio.h?

#include?time.h?

int?main()

{?

time_t?rawtime;?

struct?tm?*?timeinfo;?

time?(?rawtime?);?

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

printf?(?"當前系統時間:?%s",?asctime?(timeinfo)?);?

return?0;

}

說明:

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

c語言怎么動態調用系統時間 用以個函數做

#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語言如何調用系統時間

方法一,#includetime.h

int main()

{

time_t timep;

struct tm *p;

time (timep);

p=gmtime(timep);

printf("%d\n",p-tm_sec); /*獲取當前秒*/

printf("%d\n",p-tm_min); /*獲取當前分*/

printf("%d\n",8+p-tm_hour);/*獲取當前時,這里獲取西方的時間,剛好相差八個小時*/

printf("%d\n",p-tm_mday);/*獲取當前月份日數,范圍是1-31*/

printf("%d\n",1+p-tm_mon);/*獲取當前月份,范圍是0-11,所以要加1*/

printf("%d\n",1900+p-tm_year);/*獲取當前年份,從1900開始,所以要加1900*/

printf("%d\n",p-tm_yday); /*從今年1月1日算起至今的天數,范圍為0-365*/

}

方法二.#include?stdio.h

#include?time.h

int?main?()

{

time_t?t

struct?tm?*?lt;????time?(t);//獲取Unix時間戳。

lt?=?localtime?(t);//轉為時間結構。

printf?(?"%d/%d/%d?%d:%d:%d\n",lt-tm_year+1900,?lt-tm_mon,?lt-tm_mday,

lt-tm_hour,?lt-tm_min,?lt-tm_sec);//輸出結果

return?0;}

擴展資料

1、CTimeSpan類

如果想計算兩段時間的差值,可以使用CTimeSpan類,具體使用方法如下:

CTime t1( 1999, 3, 19, 22, 15, 0 );

CTime t = CTime::GetCurrentTime();

CTimeSpan span=t-t1; //計算當前系統時間與時間t1的間隔

int iDay=span.GetDays(); //獲取這段時間間隔共有多少天

int iHour=span.GetTotalHours(); //獲取總共有多少小時

int iMin=span.GetTotalMinutes();//獲取總共有多少分鐘

int iSec=span.GetTotalSeconds();//獲取總共有多少秒

2、timeb()函數

_timeb定義在SYS\TIMEB.H,有四個fields

dstflag

millitm

time

timezone

void _ftime( struct _timeb *timeptr );

struct _timeb timebuffer;

_ftime( timebuffer );

參考資料來源:百度百科:time函數

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語句將這個字符串輸出,從而得到現在的時刻*/

來源

標題名稱:c語言調用系統時間函數的簡單介紹
地址分享:http://m.kartarina.com/article42/hegohc.html

成都網站建設公司_創新互聯,為您提供網站改版ChatGPT電子商務面包屑導航定制網站外貿建站

廣告

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

成都定制網站網頁設計
主站蜘蛛池模板: 日韩精品无码Av一区二区| 在线观看无码AV网址| 亚洲国产成人无码AV在线 | 无码毛片AAA在线| 午夜麻豆国产精品无码| 亚洲欧洲日产国码无码久久99| 国产精品无码素人福利| 五十路熟妇高熟无码视频| 久久久久亚洲Av无码专| 无码h黄肉3d动漫在线观看 | 一本天堂ⅴ无码亚洲道久久| 亚洲GV天堂无码男同在线观看| 人妻精品无码一区二区三区| 中文无码乱人伦中文视频在线V| 亚洲AV无码久久| 亚洲中文字幕无码爆乳av中文| 亚洲AV无码专区国产乱码4SE| 亚洲av永久中文无码精品| 亚洲AV无码一区二区三区在线观看 | 在线观看成人无码中文av天堂| 2020无码专区人妻系列日韩| 无码人妻精品一区二区三区东京热 | 久久久久久AV无码免费网站下载| 性虎精品无码AV导航| 无码午夜人妻一区二区三区不卡视频| 精品久久久无码中字| 亚洲午夜无码久久久久软件| 一本加勒比HEZYO无码资源网| 无码中文2020字幕二区| 亚洲AV成人噜噜无码网站| 日韩成人无码中文字幕| 人妻无码精品久久亚瑟影视| 精品国产V无码大片在线看| 亚洲国产精品无码久久一区二区| 国产久热精品无码激情| av无码免费一区二区三区| 无码少妇一区二区性色AV| 午夜福利av无码一区二区| 中文字幕无码久久人妻| 国模吧无码一区二区三区| 国产精品无码制服丝袜|