⑴ 用c语言如何获取系统当前时间的函数

1、C语言中读取系统时间的函数为time(),其函数原型为:
#include <time.h>
time_t time( time_t * ) ;
time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。
2、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 *变量来接收结果
3、例程:
#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()为负。*/
};

⑵ C语言如何获取本地时间,然后取时、分、秒的值

C语言有2个获取时间的函数,分别是time()和localtime(),time()函数返回unix时间戳-即从1970年1月1日0:00开始所经过得秒数,而localtime()函数则是将这个秒数转化为当地的具体时间(年月日时分秒)

这里时间转化要用到一个“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日 */

int tm_isdst; /* 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 */

};

示例代码

#include<stdio.h>

#include<time.h>

int getTime()

{

time_t t; //保存unix时间戳的变量 ,长整型

struct tm* lt; //保存当地具体时间的变量

int p;

time(&t); // 等价于 t =time(NULL);获取时间戳

lt = localtime(&t); //转化为当地时间

p = lt->tm_sec; //将秒数赋值给p

return p;

}

应该就是这样啦~

⑶ C语言中如何获取当前系统时间的小时

程序主要通过当前系统日历的struct tm结构体获得,主要代码如下,
#include <stdio.h>
#include <time.h>
//程序功能输出当前时间在24H下的小时数
int main(int argc, char *argv[])
{
struct tm *ptr;
time_t lt;
time(<);//当前系统时间
ptr=localtime(<);//获取本地日历时间指针
printf("hour=%d(24H )\n",ptr->tm_hour);//输出24H下的小时数
return 0;
}

结构体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()为负。*/
long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/
const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/
};

⑷ 如何用C语言获取当前系统时间

需要利用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>
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;
}

注意事项:

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

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

(5)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语言中如何获取当前日期

#include
#include
void
main(){
struct
tm
*
tmptr;//时间的结构体
time_t
secnow;
time(&secnow);
tmptr
=
localtime(&secnow);
int
hour1,min1;
hour1
=
tmptr->tm_hour;
printf("the
time
is
%02d",hour1);//输出当前小时-----------这才是人版家提问的要的时间的数字权!
}

⑺ c语言中取系统时间

主要分为两种方法:

1.这种方法比较高级

#include<time.h>
#include<stdio.h>

#include<time.h>
intmain(intargc,char**argv)
{
_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 <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;}
(8)c语言取当前时间扩展阅读
#include
--
必须的时间函数头文件
time_t
--
时间类型(time.h
定义是typedef
long
time_t;
追根溯源,time_t是long)
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;
time
(
&rawtime
);
--
获取时间,以秒计,从1970年1月一日起算,存于rawtime
localtime
(
&rawtime
);
--
转为当地时间,tm
时间结构
asctime
()--
转为标准ASCII时间格式:
星期


时:分:秒

参考资料:网络
time函数