C語言中讀取系統(tǒng)時間的函數(shù)為time(),其函數(shù)原型為:
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)郴州免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
#include time.h
time_t time( time_t * ) ;
time_t就是long,函數(shù)返回從1970年1月1日(MFC是1899年12月31日)0時0分0秒,到現(xiàn)在的的秒數(shù)??梢哉{(diào)用ctime()函數(shù)進(jìn)行時間轉(zhuǎn)換輸出:
char * ctime(const time_t *timer);
將日歷時間轉(zhuǎn)換成本地時間,按年月日格式,進(jìn)行輸出,如:
Wed Sep 23 08:43:03 2015
C語言還提供了將秒數(shù)轉(zhuǎn)換成相應(yīng)的時間結(jié)構(gòu)的函數(shù):
struct tm * gmtime(const time_t *timer); //將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間)
struct tm * localtime(const time_t * timer); //將日歷時間轉(zhuǎn)化為本地時間
將通過time()函數(shù)返回的值,轉(zhuǎn)換成時間結(jié)構(gòu)struct tm :
struct tm {
int tm_sec; /* 秒 – 取值區(qū)間為[0,59] */
int tm_min; /* 分 - 取值區(qū)間為[0,59] */
int tm_hour; /* 時 - 取值區(qū)間為[0,23] */
int tm_mday; /* 一個月中的日期 - 取值區(qū)間為[1,31] */
int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區(qū)間為[0,11] */
int tm_year; /* 年份,其值等于實際年份減去1900 */
int tm_wday; /* 星期 – 取值區(qū)間為[0,6],其中0代表星期天,1代表星期一,以此類推 */
int tm_yday; /* 從每年的1月1日開始的天數(shù) – 取值區(qū)間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */
int tm_isdst; /* 夏令時標(biāo)識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進(jìn)候,tm_isdst為0;不了解情況時,tm_isdst()為負(fù)。*/
};
編程者可以根據(jù)程序功能的情況,靈活的進(jìn)行日期的讀取與輸出了。
例如:
#includetime.h
main()
{
time_t timep;
struct tm *p;
time (timep);
p=gmtime(timep);
printf("%d\n",p-tm_sec); /*獲取當(dāng)前秒*/
printf("%d\n",p-tm_min); /*獲取當(dāng)前分*/
printf("%d\n",8+p-tm_hour);/*獲取當(dāng)前時,這里獲取西方的時間,剛好相差八個小時*/
printf("%d\n",p-tm_mday);/*獲取當(dāng)前月份日數(shù),范圍是1-31*/
printf("%d\n",1+p-tm_mon);/*獲取當(dāng)前月份,范圍是0-11,所以要加1*/
printf("%d\n",1900+p-tm_year);/*獲取當(dāng)前年份,從1900開始,所以要加1900*/
printf("%d\n",p-tm_yday); /*從今年1月1日算起至今的天數(shù),范圍為0-365*/
}
void Input (char *str) {
char c;
int i = 0;
while ( (c = getchar()) != '\n' i 81) {
* (str + i) = c;
i++;
}
}
int Split_Count (char *str, char **pStr) {
int count = 0, is_word = 0, j = 0;
char tmp[81];
for (int i = 0; i strlen (str); i++) {
if (* (str + i) == ' ') {
if (is_word == 1) {
ss:
* (tmp + j) = '\0';
*pStr = (char *) malloc (strlen (tmp) * sizeof (char));
strcpy (*pStr, tmp); //調(diào)試了一下,到這行就出錯
pStr++;
j = 0;
}
is_word = 0;
} else {
if (is_word == 0) {
count++;
}
* (tmp + j) = * (str + i);
j++;
is_word = 1;
if (i == strlen (str) - 1)
goto ss;
}
}
return count;
}
itoa()可以實現(xiàn)到二進(jìn)的轉(zhuǎn)換
int
a
=
10;
char
binbuf[32];
//存儲二進(jìn)制字串的空間
printf("%s\n",
itoa(a,
binbuf,
2));
//最后一個參數(shù)2表示2進(jìn)制