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所储存的时间的差.