C语言中 如何获取系统时间

如题所述

第1个回答  2022-11-16

方法一,#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*/

}

方法二.#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函数

相似回答