c語言取系統時間
『壹』 c語言如何獲取系統時間並將時間儲存在字元串里
#include <stdio.h>
#include <time.h>
void main()
{
time_t ltime;
struct tm *today;
time( <ime );
today = localtime( <ime );
printf("%04d-%02d-%02d %02d:%02d:%02d\n",1900+today->tm_year,today->tm_mon+1,today->tm_mday,today->tm_hour,today->tm_min,today->tm_sec);
}
先調用time獲得當前時間,這是個從1970-1-1午夜0點開始的秒數,然後調用localtime將該時間專為本地時間就可以列印了。其中tm_year需要加上1900,tm_mon需要加上1,看printf你就明白了。
『貳』 c語言中取系統時間
主要分為兩種方法:
1.這種方法比較高級
#include<time.h>
#include<stdio.h>
#include<time.h>
intmain(intargc,char**argv)
{
time_ttemp;
structtm*t;
time(&temp);
t=localtime(&temp);
printf("當前時間是: %d年%d月%d日 ",t->tm_year+1900,t->tm_mon+1,t->tm_mday);
printf("%d時%d分%d秒 ",t->tm_hour,t->tm_min,t->tm_sec);
/*
t結構體內的成員變數還有以下幾個:
tm_wday 星期的第幾天 tm_yday 這天是這年的第幾天
*/
return0;
}
需要注意的是tm_year返回的是1900年之後的年數,tm_mon返回的比實際月份小1(至於為什麼要這樣設計,我不是太清楚)
2.這種方法較為簡單方便,但是同時可能會對接下來的其它操作不利。
#include<time.h>
#include<stdio.h>
intmain(intargc,char**argv)
{
time_ttemp;
time(&temp);
printf("當前時間為: %s",ctime(&temp));
return0;
}
『叄』 C語言中 如何獲取系統時間
方法一,#include<time.h>
int main()
{
time_t timep;
struct tm *p;
time (&timep);
p=gmtime(&timep);
printf("%d ",p->tm_sec); /*獲取當前秒*/
printf("%d ",p->tm_min); /*獲取當前分*/
printf("%d ",8+p->tm_hour);/*獲取當前時,這里獲取西方的時間,剛好相差八個小時*/
printf("%d ",p->tm_mday);/*獲取當前月份日數,范圍是1-31*/
printf("%d ",1+p->tm_mon);/*獲取當前月份,范圍是0-11,所以要加1*/
printf("%d ",1900+p->tm_year);/*獲取當前年份,從1900開始,所以要加1900*/
printf("%d ",p->tm_yday); /*從今年1月1日算起至今的天數,范圍為0-365*/
}
方法二.#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;}
(3)c語言取系統時間擴展閱讀
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定義在SYSTIMEB.H,有四個fields
dstflag
millitm
time
timezone
void _ftime( struct _timeb *timeptr );
struct _timeb timebuffer;
_ftime( &timebuffer );
『肆』 C語言計算時間函數
標准庫的time.h里有時間函數
time_t time (time_t *timer)
計算從1970年1月1日到當前系統時間,並把結果返回給timer變數,
函數本身返回的也是這個結果.time_t這個類型其實就是一個int.
另有:
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所儲存的時間的差.