這是一個獲取時間的,并且寫入文件的函數(shù)。你琢磨下吧。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、成都網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鎮(zhèn)海做網(wǎng)站,已為上家服務,為鎮(zhèn)海各地企業(yè)和個人服務,聯(lián)系電話:18980820575
void time()
{
FILE *Tp;
Tp=fopen("系統(tǒng)使用記錄.txt","a");
time_t t;
//struct tm *gmt, *area;
struct tm *area;
t = time(NULL);
area = localtime(t);
printf("當前系統(tǒng)時間: %s", asctime(area));
fprintf(Tp," %s",asctime(area));
fclose(Tp);
//gmt = gmtime(t);
//printf("GMT is: %s", asctime(gmt));
}
c++使用
頭文件
time.h
,c使用ctime,具體使用方法搜一下
函數(shù)
sturct
tm
*localtime(const
time_t
*time)來獲得本地時間
本
程序
既輸出系統(tǒng)的本地時間
#includetime.h
#includestdio.h
int
main(void)
{
struct
tm
*local;
time_t
t;
t=time(NULL);
local=localtime(t);
printf("local
time
and
date:%s\n",asctime(local));
return
0;
}
幾個常用的時間函數(shù)
time()//取得系統(tǒng)時間
gmtime()//轉(zhuǎn)換成國標標準之間
localtime()//轉(zhuǎn)換成本地時間
asctime()//轉(zhuǎn)換成字符形式
ctime()//轉(zhuǎn)換成字符形式
strftime()//類似于printf()
#include "time.h"
time_t time(time_t *timer);
調(diào)用后將當前系統(tǒng)時間與1900年1月1日相差的秒數(shù)存入到timer中,timer可看成是一個長整型數(shù)
struct tm* localtime(const time_t *timer)
將time()函數(shù)調(diào)用的結(jié)果做為參數(shù)傳入到localtime()函數(shù)中就能得到當前時間和日期,注意得到的年是和1970的差值,月份是和1月的差值
struct tm是一個結(jié)構體,定義如下
struct tm
{
int tm_sec; //當前秒
int tm_min; //當前分鐘
int tm_hour; //當前小時
int tm_mday; //當前在本月中的天,如11月1日,則為1
int tm_mon; //當前月,范圍是0~11
int tm_year; //當前年和1900的差值,如2006年則為36
int tm_wday; //當前在本星期中的天,范圍0~6
int tm_yday; //當前在本年中的天,范圍0~365
int tm_isdst; //這個我也不清楚
}
求當前時間的示例
int getSystemTime()
{
time_t timer;
struct tm* t_tm;
time(timer);
t_tm = localtime(timer);
printf("today is %4d%02d%02d%02d%02d%02d\n", t_tm.tm_year+1900,
t_tm.tm_mon+1, t_tm.tm_mday, t_tm.tm_hour, t_tm.tm_min, t_tm.tm_sec);
return 0;
}
其他時間的函數(shù)和結(jié)構還有:
timeval結(jié)構
#include include/linux/time.h
struct timeval
{
time_t tv_sec;
susecond_t tv_usec; //當前妙內(nèi)的微妙數(shù)
};
tms結(jié)構
保存著一個進程及其子進程使用的cpu時間
struct tms
{
clock_t tms_utime;
clock_t tms_stime;
clock_t tms_cutime;
clock_t tms_cstime;
}
timer_struct結(jié)構
#include include/linux/timer.h
struct timer_struct
{
unsigned long expires; //定時器被激活的時刻
void (*fn)(void); //定時器激活后的處理函數(shù)
}
utime函數(shù)
更改文件的存取和修改時間
int utime(const char pathname, const struct utimbuf *times) // return value 0 or -1
times 為空指針,存取和修改時間設置為當前時間
struct utimbuf
{
time_t actime;
time_t modtime;
}
主要分為兩種方法:
1.這種方法比較高級
#include?time.h??
#include?stdio.h??
#include?time.h
int?main(int?argc,?char?**?argv)
{
time_t?temp;
struct?tm?*t;
time(temp);
t?=?localtime(temp);
printf("當前時間是:\n%d年%d月%d日\n",?t-tm_year+1900,?t-tm_mon+1?,?t-tm_mday);
printf("%d時%d分%d秒\n",?t-tm_hour,?t-tm_min,?t-tm_sec);
/*
t結(jié)構體內(nèi)的成員變量還有以下幾個:
tm_wday 星期的第幾天 tm_yday 這天是這年的第幾天
*/
return?0;
}
需要注意的是tm_year返回的是1900年之后的年數(shù),tm_mon返回的比實際月份小1(至于為什么要這樣設計,我不是太清楚)
2.這種方法較為簡單方便,但是同時可能會對接下來的其它操作不利。
#include?time.h
#include?stdio.h??
int?main(int?argc,?char?**?argv)
{
time_t?temp;
time(temp);
printf("當前時間為:\n%s",?ctime(temp));
return?0;
}
方法一,#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);/*獲取當前月份日數(shù),范圍是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日算起至今的天數(shù),范圍為0-365*/
}
方法二.#include?stdio.h
#include?time.h
int?main?()
{
time_t?t
struct?tm?*?lt;????time?(t);//獲取Unix時間戳。
lt?=?localtime?(t);//轉(zhuǎn)為時間結(jié)構。
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);//輸出結(jié)果
return?0;}
擴展資料
1、CTimeSpan類
如果想計算兩段時間的差值,可以使用CTimeSpan類,具體使用方法如下:
CTime t1( 1999, 3, 19, 22, 15, 0 );
CTime t = CTime::GetCurrentTime();
CTimeSpan span=t-t1; //計算當前系統(tǒng)時間與時間t1的間隔
int iDay=span.GetDays(); //獲取這段時間間隔共有多少天
int iHour=span.GetTotalHours(); //獲取總共有多少小時
int iMin=span.GetTotalMinutes();//獲取總共有多少分鐘
int iSec=span.GetTotalSeconds();//獲取總共有多少秒
2、timeb()函數(shù)
_timeb定義在SYS\TIMEB.H,有四個fields
dstflag
millitm
time
timezone
void _ftime( struct _timeb *timeptr );
struct _timeb timebuffer;
_ftime( timebuffer );
參考資料來源:百度百科:time函數(shù)
網(wǎng)站題目:包含c語言提取系統(tǒng)時間函數(shù)的詞條
轉(zhuǎn)載注明:http://jinyejixie.com/article4/dochhoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、網(wǎng)站制作、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設、網(wǎng)站改版、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)