當前位置:編程學習大全網 - 源碼下載 - 看過來,看過來 C語言獲取系統時間的幾種方式

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

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

C語言中讀取系統時間的函數為time(),其函數原型為:#include <time.h>time_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()為負。*/};

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

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

#include<time.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*/

}

  • 上一篇:怎樣建壹個自己的網站
  • 下一篇:SpringBoot——Servlet容器啟動解析
  • copyright 2024編程學習大全網