获取系统时间的c语言函数的简单介绍

c语言如何取得系统时间??

#include "time.h"

为垦利等地区用户提供了全套网页设计制作服务,及垦利网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、垦利网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

time_t time(time_t *timer);

调用后将当前系统时间与1900年1月1日相差的秒数存入到timer中,timer可看成是一个长整型数

struct tm* localtime(const time_t *timer)

将time()函数调用的结果做为参数传入到localtime()函数中就能得到当前时间和日期,注意得到的年是和1970的差值,月份是和1月的差值

struct tm是一个结构体,定义如下

struct tm

{

int tm_sec; //当前秒

int tm_min; //当前分钟

int tm_hour; //当前小时

int tm_mday; //当前在本月中的天,如11月1日,则为1

int tm_mon; //当前月,范围是0~11

int tm_year; //当前年和1900的差值,如2006年则为36

int tm_wday; //当前在本星期中的天,范围0~6

int tm_yday; //当前在本年中的天,范围0~365

int tm_isdst; //这个我也不清楚

}

求当前时间的示例

int getSystemTime()

{

time_t timer;

struct tm* t_tm;

time(timer);

t_tm = localtime(timer);

printf("today is %4d%02d%02d%02d%02d%02d\n", t_tm.tm_year+1900,

t_tm.tm_mon+1, t_tm.tm_mday, t_tm.tm_hour, t_tm.tm_min, t_tm.tm_sec);

return 0;

}

其他时间的函数和结构还有:

timeval结构

#include include/linux/time.h

struct timeval

{

time_t tv_sec;

susecond_t tv_usec; //当前妙内的微妙数

};

tms结构

保存着一个进程及其子进程使用的cpu时间

struct tms

{

clock_t tms_utime;

clock_t tms_stime;

clock_t tms_cutime;

clock_t tms_cstime;

}

timer_struct结构

#include include/linux/timer.h

struct timer_struct

{

unsigned long expires; //定时器被激活的时刻

void (*fn)(void); //定时器激活后的处理函数

}

utime函数

更改文件的存取和修改时间

int utime(const char pathname, const struct utimbuf *times) // return value 0 or -1

times 为空指针,存取和修改时间设置为当前时间

struct utimbuf

{

time_t actime;

time_t modtime;

}

怎么用C语言来获得系统时间

c++使用

头文件

time.h

,c使用ctime,具体使用方法搜一下

函数

sturct

tm

*localtime(const

time_t

*time)来获得本地时间

程序

既输出系统的本地时间

#includetime.h

#includestdio.h

int

main(void)

{

struct

tm

*local;

time_t

t;

t=time(NULL);

local=localtime(t);

printf("local

time

and

date:%s\n",asctime(local));

return

0;

}

几个常用的时间函数

time()//取得系统时间

gmtime()//转换成国标标准之间

localtime()//转换成本地时间

asctime()//转换成字符形式

ctime()//转换成字符形式

strftime()//类似于printf()

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

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

看过来,看过来 C语言获取系统时间的几种方式

我们在写C语言程序的时候,有的时候会用到读取本机的时间和日期,怎么做呢?其实很简单的,下面简单说一下:

C语言中读取系统时间的函数为time(),其函数原型为:#include time.htime_t time( time_t * ) ;

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

可以调用ctime()函数进行时间转换输出:char * ctime(const time_t *timer);

将日历时间转换成本地时间,按年月日格式,进行输出,如:Wed Sep 23 08:43:03 2015C语言还提供了将秒数转换成相应的时间结构的函数:

struct tm * gmtime(const time_t *timer); //将日历时间转化为世界标准时间(即格林尼治时间)

struct tm * localtime(const time_t * timer); //将日历时间转为本地时间将通过time()函数返回的值,转成时间结构structtm :

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()为负。*/};

编程者可以根据程序功能的情况,灵活的进行日期的读取与输出了。

下面给出一段简单的代码:

#includetime.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*/

}

c语言中取系统时间

主要分为两种方法:

1.这种方法比较高级

#include time.h  

#include stdio.h  

#include time.h

int main(int argc, char ** argv)

{

time_t temp;

struct tm *t;

time(temp);

t = localtime(temp);

printf("当前时间是:\n%d年%d月%d日\n", t-tm_year+1900, t-tm_mon+1 , t-tm_mday);

printf("%d时%d分%d秒\n", t-tm_hour, t-tm_min, t-tm_sec);

/*

t结构体内的成员变量还有以下几个:

tm_wday 星期的第几天 tm_yday 这天是这年的第几天

*/

return 0;

}

需要注意的是tm_year返回的是1900年之后的年数,tm_mon返回的比实际月份小1(至于为什么要这样设计,我不是太清楚)

2.这种方法较为简单方便,但是同时可能会对接下来的其它操作不利。

#include time.h

#include stdio.h  

int main(int argc, char ** argv)

{

time_t temp;

time(temp);

printf("当前时间为:\n%s", ctime(temp));

return 0;

}


当前文章:获取系统时间的c语言函数的简单介绍
URL地址:http://scyanting.com/article/dsipidd.html