C语言怎样获取系统当前的时间并把它保存到定义的变量中

希望能附带详细资料和例子说明,有具体的测试用例,谢谢,我会追加分的... 希望能附带详细资料和例子说明,有具体的测试用例,谢谢,我会追加分的 展开
 我来答
kaixingui2012
推荐于2016-09-12 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6158万
展开全部

C语言中读取系统时间的函数为time(),其函数原型为:

#include <time.h>

time_t  time( time_t * ) ;

time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。

C语言还提供了将秒数转换成相应的时间格式的函数:

  • char * ctime(const time_t *timer); //将日历时间转换成本地时间,返回转换后的字符串指针   可定义字符串或是字符指针来接收返回值

  • struct tm * gmtime(const time_t *timer); //将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针   可定义struct tm *变量来接收结果

  • struct tm * localtime(const time_t * timer);   //将日历时间转化为本地时间,返回结构体指针   可定义struct tm *变量来接收结果

例:

#include <time.h>
void main()
{
    time_t t;
    struct tm *pt ;
    char *pc ;
    time(&t);
    pc=ctime(&t) ; printf("ctime:%s", pc );
    pt=localtime(&t) ; printf("year=%d", pt->tm_year+1900 );
}

时间结构体struct tm 说明:

struct tm { 
    int tm_sec; /* 秒 – 取值区间为[0,59] */ 
    int tm_min; /* 分 - 取值区间为[0,59] */ 
    int tm_hour; /* 时 - 取值区间为[0,23] */ 
    int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */ 
    int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */ 
    int tm_year; /* 年份,其值等于实际年份减去1900 */ 
    int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */ 
    int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */ 
    int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/ 
};

血刃阿琪qb6
推荐于2017-11-27 · 超过56用户采纳过TA的回答
知道答主
回答量:107
采纳率:100%
帮助的人:104万
展开全部
#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你就明白了。
希望采纳
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闪菱宠9875
2014-12-18 · 超过54用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:120万
展开全部
#include <iostream.h> #include <windows.h> void main() { SYSTEMTIME systime; GetLocalTime(&systime);//本地时间 cout<<"今天是:"; cout<<systime.wYear<<"年"<<systime.wMonth<<"月"<<systime.wDay<<"日"<<endl; cout<<"现在时间是:"; cout<<systime.wHour<<":"<<systime.wMinute<<":"<<systime.wSecond<<":"<<systime.wMilliseconds<<endl; cout<<"星期"<<systime.wDayOfWeek<<endl; cout<<endl; GetSystemTime(&systime);//系统时间 cout<<"现在时间是:"; cout<<systime.wHour<<":"<<systime.wMinute<<":"<<systime.wSecond<<":"<<systime.wMilliseconds<<endl; cout<<endl; } //网上拷过来的,可参考一下GetLocalTime和GetSystemTime两个的使用 补充: #include <stdio.h> #include <windows.h>//调用系统API的 头文件 void main() { SYSTEMTIME systime;//保存时间的 结构体 GetLocalTime(&systime);//本地时间 printf("今天是:"); printf("%d年%d月%d日\n",systime.wYear,systime.wMonth,systime.wDay); printf("现在时间是:"); printf("%d:%d:%d:%d\n",systime.wHour,systime.wMinute,systime.wSecond,systime.wMilliseconds); printf("星期:%d\n\n",systime.wDayOfWeek); GetSystemTime(&systime);//系统时间 printf("现在时间是:"); printf("%d:%d:%d:%d\n",systime.wHour,systime.wMinute,systime.wSecond,systime.wMilliseconds); }//VC6.0编译通过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式