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

各位高手帮手编写一个程序:要求;用C语言编写,获取系统时间年月日只要年月日小时分钟秒不要!并把获取的年月日分别保存在定义好的三个int型变量中!并显示出来!回复zxl07... 各位高手帮手编写一个程序:
要求;用C语言编写,获取系统时间 年 月 日 只要 年月日 小时 分钟秒 不要!

并把 获取的 年月日 分别保存在 定义好的三个 int型 变量中!
并显示出来!
回复 zxl0714:
可以详细点 加点说明可以吗?
我看不明啊!!!
展开
 我来答
OnlyOne00
高粉答主

2019-03-05 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:649
采纳率:100%
帮助的人:17.6万
展开全部

方法一,#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函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2017-05-10 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450133
专业C/C++软件开发

向TA提问 私信TA
展开全部

需要利用C语言的时间函数time和localtime,具体说明如下:

一、函数接口介绍:

1、time函数。

形式为time_t time (time_t *__timer);

其中time_t为time.h定义的结构体,一般为长整型。

这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。 

time函数返回的为unix时间戳,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

由于是秒作为单位的,所以这并不是习惯上的时间,要转为习惯上的年月日时间形式就需要另外一个函数了。

2、localtime函数。

形式为struct tm *localtime (const time_t *__timer);

其中tm为一个结构体,包含了年月日时分秒等信息。

这种结构是适合用来输出的。

二、参考代码:

#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;
}

注意事项:

struct tm中的tm_year 值为实际年减去1900, 所以输出的时候要是lt->tm_year+1900。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤影听风语s2

2019-12-23 · TA获得超过4562个赞
知道大有可为答主
回答量:6159
采纳率:73%
帮助的人:187万
展开全部
1.
首先是在Dev C++中新建C语言的程序,如下图所示
2.
接下来在C语言文件中添加main函数,如下图所示
3.
然后在头部的库文件中导入time.h库文件,如下图所示
4.
接下来通过库文件中的gmtime获取当前时间,如下图所示
5.
然后我们就可以通过如下图所示的方式分别获取时间中的年月日等信息
6.
最后我们运行C程序,就可以得到系统时间并获得时间中的年月日
7.
综上所述,在C语言中获得系统时间一定要先引入time.h库,大家快去试一下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7483f44
2007-08-15 · TA获得超过1195个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:1022万
展开全部
#include <stdio.h>
#include <time.h>

int main( )
{
time_t nowtime;
struct tm *timeinfo;
time( &nowtime );
timeinfo = localtime( &nowtime );
int year, month, day;
year = timeinfo->tm_year + 1900;
month = timeinfo->tm_mon + 1;
day = timeinfo->tm_mday;
printf("%d %d %d\n", year, month, day);
return 0;
}

struct tm -- 时间结构,time.h 定义如下:
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;

tm_year 从1900年计算,所以要加1900,
月tm_mon,从0计算,所以要加1

time( &nowtime ); 获取时间
localtime ( &nowtime ); 转为当地时间
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友43c743e
2007-08-15
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
#include<iostream>
using namespace std;

int main()
{
cout<<__DATE__<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式